perl – 为什么我会“弃用伪哈希”?

前端之家收集整理的这篇文章主要介绍了perl – 为什么我会“弃用伪哈希”?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这个代码

if (defined($xml->{account}->{p}) == '2') {
...
}

这给了我这个警告

Pseudo-hashes are deprecated at a.pl line 48.

问题是在某些情况下$xml-> {account} – > {p}不存在,这就是我添加已定义函数的原因.

$xml是一个对象,如果这有所不同?

怎么能修复,所以Perl不抱怨?

解决方法

$xml或$xml-> {account}是ARRAY,而不是HASH(您可以使用ref来检查这个,请参阅perldoc -f ref). Perl有一个名为“伪哈希”的现已弃用的功能,它允许通过哈希语法访问特殊数组.如果你关心历史,你可以谷歌或者看一本旧版的骆驼书.

猜你在找的Perl相关文章