有人可以在Perl中解释哈希吗?

前端之家收集整理的这篇文章主要介绍了有人可以在Perl中解释哈希吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_403_6@ 主功能

my %hash = {'inner1'=>{'foo'=>5},'inner2'=>{'bar'=>6}};
$object->State(0,%AMSValues);

寄去:

sub State
{
   my ($self,$state,%values) = @_;
   my $value = \%values;

据我所知,一个应该是哈希,另一个是指针,但……

它看起来不像是这样的,

$value = $value->{"HASH(0x52e0b6c)"}
%values = $values->{"HASH(0x52e0b6c)"}

解决方法

使用警告;总是.

您的:

my %hash = {'inner1'=>{'foo'=>5},'inner2'=>{'bar'=>6}};

是不正确的; {}生成匿名哈希引用,%hash获取单个键(该字符串的哈希引用)和undef值.

你自找的:

my %hash = ('inner1'=>{'foo'=>5},'inner2'=>{'bar'=>6});

至于传递子程序,你不能通过哈希;像你这样的代码展示将哈希扁平化为一个列表,然后从@_重新组合一个哈希,但这将是一个单独的副本.如果您确实需要相同的哈希,则必须传递哈希引用.

猜你在找的Perl相关文章