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中解释哈希吗?全部内容,希望文章能够帮你解决有人可以在Perl中解释哈希吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)