这不起作用:
my %y = ("lkj",34);
my %i = ("lkj",66);
my @e = (\%y, \%i);
my $u = ${%{$e[0]}}{"lkj"};
但确实如此:
my %u = %{$e[0]};
print $u{"lkj"};
如果我不想输入额外的行,我该怎么办。
最佳答案
您使用 ->
运算符:
$e[0]->{"lkj"}
你可以对 arrayrefs 做类似的事情,它甚至可以链接:
my $eref = \@e;
print $eref->[0]->{"lkj"}
作为奖励,您也可以使用 arrayrefs 的 {}
简写在一行中完成所有设置:
my @e = ( { lkj => 34 }, { lkj => 66 } );
关于perl - 取消引用哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10694319/