in reply to mapping two arrays into a hash

Zigdon's answer shows the very simple (and good) way to do it, but as you ask you can do this using map to interleave the two arrays (this might be useful for other data structures too).
my (%hash, @a, @b); %hash = map { ($a[$_], $b[$_]) } 0..$#a;
Update: This is the same as tachyon's code.

Although as always TMTOWTDI applies, and you can do it with other loops, although the one below is destructive:

my (%hash, @a, @b); $hash{shift @a} = shift @b while (@a and @b);

integral, resident of freenode's #perl