1
这里是小码与列表哈希分配::的Util
use List::Util qw(first);
my $x = {FOO => undef};
my @array = (1,2,3,4,5,6,7,8,9);
$x->{FOO} =
{
'INFO' => first { $_ eq 1 } @array,
'TI' => first { $_ eq 2 } @array,
};
这不是创建嵌套哈希 - 匿名hashref FOO只有一个密钥对。这是O/p
$VAR1 = {
'FOO' => {
'INFO' => 1
}
};
我无法想象为什么会发生这种情况?请帮忙。
这是一个语法错误 - 阵列发现的,其中运营商有望.. .. – rpg 2012-03-07 10:04:50
@rpg:奇怪。例如,'map'不支持该语法。 – 2012-03-07 10:19:37
更简单的方法是将匿名子传递给'first':'INFO => first(sub {$ _ eq 1},@array),'等等 – Borodin 2012-03-07 10:21:47