Perl 取消对散列值的引用
这不起作用:Perl 取消对散列值的引用,perl,hash,reference,Perl,Hash,Reference,这不起作用: 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 =
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 } );
->
在索引之间使用时可以隐含$e[0]{lkj}
和$eref->[0]{lkj}
可以正常工作。