将列表中的值分配给哈希元素

时间:2012-08-01 14:03:25

标签: perl hash

实质上,我想命名列表的元素。

我可以这样做:

($hash{'foo'}, $hash{'bar'}, $hash{'baz'}) = listmaker;

但如果列表中有很多元素,则会变得相当冗长。

是否只有一个更简单的方法来命名哈希一次?也许有一些变化:

%hash = ("foo" => "abc", "bar" => "def", "baz" => "ghi");

但是值来自函数listmaker?我设想了某种map咒语。

1 个答案:

答案 0 :(得分:2)

使用哈希切片:

@hash{'foo', 'bar', 'baz'} = listmaker

@hash{qw( foo bar baz )} = listmaker