perl – 如何从哈希哈希中获取哈希切片?

perl – 如何从哈希哈希中获取哈希切片?,第1张

概述我有这样的哈希: my %h = ( a => { one => 1, two => 2 }, b => { three => 3, four => 4 }, c => { five => 5, six = 我有这样的哈希:

my %h = ( a => { one => 1,two => 2             },b => { three => 3,four => 4             },c => { five => 5,six => 6             }      );print join(',',@{$h{a}{qw/one two/}});

我得到的错误是:
不能在q.pl第17行使用未定义的值作为ARRAY引用
这是打印线.

我的期望是什么
1,2

解决方法 要从嵌套哈希中获取哈希切片,您必须逐步取消引用它.你得到了你需要的第一级:

$h{'a'}

现在,你必须取消引用它作为哈希.但是,由于它不是一个简单的标量,你必须把它放在括号中.要获得整个哈希值,您需要在大括号前加一个%:

%{ $h{'a'} }

现在你想要一个切片,所以你用@替换%,因为你得到了多个元素,并且你也正常地将你的键放在最后:

@{ $h{'a'} }{ @keys }

分别看到大括号可能更容易:

@{         }{       }   $h{'a'}    @keys
总结

以上是内存溢出为你收集整理的perl – 如何从哈希哈希中获取哈希切片?全部内容,希望文章能够帮你解决perl – 如何从哈希哈希中获取哈希切片?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1267959.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存