my @a = qw(foo bar baz); my @b = (1, 42, 99); # unwanted (considered too clumsy): for my $i (0..$#a) { $h{$a[$i]} = $b[$i]; } # or $h{$a[0]} = 1; $h{$a[1]} = 42; $h{$a[2]} = 99; # or ($h{$a[0]}, $h{$a[1]}, $h{$a[2]}) = (1, 42, 99); # wanted: @h{@a} = @b; @h{@a} = (1, 42, 99);