{account}->{p}) == '2') { ... } 这给了我这个警告 Pseudo-hashes are deprecated at a.-6ren">
gpt4 book ai didi

perl - 为什么我会得到 "Pseudo-hashes are deprecated"?

转载 作者:行者123 更新时间:2023-12-04 22:36:37 26 4
gpt4 key购买 nike

我有这个代码

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

这给了我这个警告
Pseudo-hashes are deprecated at a.pl line 48.

问题是在某些情况下 $xml->{account}->{p} 不存在,这就是我添加 defined 函数的原因。
$xml 是一个对象,如果这有区别?

如何解决这个问题,让 Perl 不提示?

最佳答案

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

关于perl - 为什么我会得到 "Pseudo-hashes are deprecated"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5221232/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com