我有两个像这样的数组
my @keys = qw/Key_1 Key_2 Key_3/;
my @values = qw/foo bar more/;
是否有一种简短的方法(即单个函数)可以在不使用循环的情况下获得这样的哈希值?
my %hash_table = ( Key_1 => "foo", Key_2 => "bar", Key_3 => "more" );
我尝试使用map
功能,但没有成功。
答案 0 :(得分:17)
使用哈希slice,
my %hash_table;
@hash_table{@keys} = @values;
使用地图,
my %hash_table = map { $keys[$_] => $values[$_] } 0 .. $#keys;