在Perl中一步声明并填充哈希表

Bra*_*ace 5 perl hash initialization lookup-tables hashref

目前,当我想构建一个查找表时,我使用:

my $has_field = {};
map { $has_field->{$_} = 1 } @fields;
Run Code Online (Sandbox Code Playgroud)

有没有办法可以在一个步骤中进行内联初始化?(即在我宣布它的同时填充它?)

小智 14

只需使用您的地图创建一个列表,然后放入一个哈希引用,如:

my $has_field = { map { $_ => 1 } @fields };
Run Code Online (Sandbox Code Playgroud)