Let us use the ContourIntegrate
function which I think I pinched this function somewhere on this site
ContourIntegrate[f_, par : (z_ -> g_), {t_, a_, b_}] :=
Integrate[Evaluate[(f /. par) D[g, t]], {t, a, b}]
Let's check it
ContourIntegrate[1/x, x -> Exp[I t], {t, 0, 2 Pi}] - 2 Pi I Residue[1/x, {x, 0}]
(* 0 *)
or just for fun on this path
ParametricPlot[Exp[I t] (1 + Exp[12 I t]/4) // {Re[#], Im[#]} &, {t, 0, 2 Pi}]

ContourIntegrate[1/(x - 1/2), x -> Exp[I t] (1 + Exp[12 I t]/4), {t, 0, 2 Pi}]
(* 2I Pi *)
As @J.M. mentions, you can chain contours, but you must proceed one contour at a time
ContourIntegrate[ContourIntegrate[1/(x u), x -> Exp[I t],{t, 0, 2 Pi}],u ->Exp[I t], {t, 0, 2 Pi}]
(* -4Pi^2 *)
and so on...
ContourIntegrate[ContourIntegrate[ContourIntegrate[1/(x u v), x -> Exp[I t],{t, 0, 2 Pi}],
u ->Exp[I t], {t, 0, 2 Pi}],v ->Exp[I t], {t, 0, 2 Pi}]
(* -8I Pi^3 *)
EDIT
Since I am (personally) interested in a numerical solution,
let's see how it can be done numerically as well. Let's define
NContourIntegrate[f_, par : (z_ -> g_), {t_, a_, b_}] :=
NIntegrate[Evaluate[D[g, t] (f /. par) /. t -> t1], {t1, a, b}]
so that
NContourIntegrate[1/x, x -> Exp[I t], {t, 0, 2 Pi}] - 2 Pi I Residue[1/x, {x, 0}]
(* 0. *)
Or, to consider a wikipedia example, let us integrate $\frac{1}{(z^2+1)^2}$ over the path
pw[t_] = Piecewise[{{2 Exp[I t], t < Pi}, {-2 + 4 (t - Pi)/Pi, t > Pi}}];
ParametricPlot[pw[t] // {Re[#], Im[#]} &, {t, 0, 2 Pi}]

NContourIntegrate[1/(x^2 + 1)^2, x -> pw[t], {t, 0, 2 Pi}] // Chop
ContourIntegrate[1/(x^2 + 1)^2, x -> pw[t], {t, 0, 2 Pi}]//FullSimplify
(* 1.5708 and Pi/2 *)
Finally, moving to the multivariate case, if I define
Clear[h]; h[u_?NumberQ] := NContourIntegrate[1/x/u, x -> Exp[I t], {t, 0, 2 Pi}]
then
NContourIntegrate[h[u], u -> Exp[I t], {t, 0, 2 Pi}]
yields correctly
(* -39.47 =N[-4 Pi^2] *)
And more generally
Clear[h1];h1[u_?NumberQ, v_?NumberQ] :=
NContourIntegrate[1/(x - 1/2)/(u + 1/2)/v, x -> Exp[I t], {t, 0, 2 Pi}];
Clear[h2]; h2[v_?NumberQ] :=
NContourIntegrate[h1[u, v], u -> Exp[I t], {t, 0, 2 Pi}]
NContourIntegrate[h2[v], v -> Exp[I t], {t, 0, 2 Pi}] + I 8 Pi^3
(* 0. *)
Residue[]
for starters, but it can only do one variable at a time... $\endgroup$