@foo{1,2,3} = qw(a b c); #### %foo = ( 1 => 'a' 2 => 'b' 3 => 'c') #### @foo{@keys} = @values; # instead of $foo{$_} = shift(@values) foreach @keys