大佬教程收集整理的这篇文章主要介绍了perl – 如何取消引用从类方法返回的哈希?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
%resp = $myclass->sub($foo);
然后像这样访问返回的哈希的成员:
$resp{key}{subkey};
在2d哈希的情况下.
我认为必须有一种方法将它组合成一条优雅的线条,如下所示:
$myclass->sub($foo)->{key}{subkey}
这显然没有被正确解除引用,因为Perl在尝试运行代码时会返回此信息:
Can't use @R_696_10495@ng ("1/8") as a HASH ref
在尝试随机解引用序列时,从查看“References quick reference” on Perlmonks,我想出了以下内容,Perl没有抱怨,但也没有返回我正在寻找的内容:
$%{$myclass->sub($foo)}->{key}{subkey}
有人能告诉我神奇的解除引用转义序列是做什么的吗?
返回哈希引用.
现在,来看看:
#!/usr/bin/perl package My::Mine; use @R_696_10495@ct; use warnings; sub test { my %h = ( a => { z => 1},b => { y => 2},); return %h; } package main; use @R_696_10495@ct; use warnings; my $class = 'My::Mine'; print { $class->test }->{a}{z},"\n";
那样不行.相反,你必须这样做:
print +{ $class->test }->{a}{z},"\n";
现在,这很优雅(不!)见perldoc -f print.
长话短说,返回哈希的引用.
请注意,您正在构建的新匿名哈希不是免费的.将哈希作为平面列表从子例程返回的成本也不是.
以上是大佬教程为你收集整理的perl – 如何取消引用从类方法返回的哈希?全部内容,希望文章能够帮你解决perl – 如何取消引用从类方法返回的哈希?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。