Perl:将键和值数组转换为哈希值

时间:2014-06-03 09:32:29

标签: arrays perl hash

我有两个像这样的数组

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功能,但没有成功。

1 个答案:

答案 0 :(得分:17)

使用哈希slice

my %hash_table;
@hash_table{@keys} = @values;

使用地图,

my %hash_table = map { $keys[$_] => $values[$_] } 0 .. $#keys;