for (0 .. 10) { my $outer_elem = $_; for (0 .. 20) { my $inner_elem = $_; do_something($outer_elem, $inner_elem); } } # Yeah, I know doing this is better: for my $outer_elem (0 .. 10) { for my $inner_elem (0 .. 20) { do_something($outer_elem, $inner_elem); } } #### foreach my $elem1 (@array1) { my $outer_idx = $.; foreach my $elem2 (@array2) { my $inner_idx = $.; # Blablabla... } }