in reply to Using map to interlace an array

How about:
my @keys = qw( key1 key2 key3 ); my %hash; map {$hash{$_}=0} @keys;
If you want to zip two arrays into a hash, you could try
@keys = qw( a b c ); @values = qw ( 1 2 3 ); my %hash; $hash{$_} = shift @values for @keys;