for (my $i = 0; $i < @a; $i++) { # Do stuff with @a and @b } #### my %temp; @temp{@a} = @b; while (my ($a_val, $b_val) = each %temp) { # Do stuff with $a_val and $b_val } #### use mapcar; # This is on a node [tye] posted somewhere on PM my @temp_arr = mapcar { \@_ } (\@a, \@b); foreach my $vals (@temp_arr) { # Do stuff with $vals->[0] (from @a) and $vals->[1] (from @b) }