Perl "keys on reference is experimental"警告

标签 perl dictionary hash

我的 Perl 程序抛出了一些警告,但我还没有在互联网上搜索解决方案。有什么方法可以重写以下代码片段,这样就不会抛出警告吗?

“引用键是实验性的......”:

foreach my $key ( keys %$api_decoded_result{'query'}->{'pages'} ) {
    @words = split / /, $api_decoded_result->{'query'}->{'pages'}{$key}->{'extract'};
}

最佳答案

是的。这是因为运算符取消引用的优先级。 %$api_decoded_result{'query'} 绑定(bind)更紧密。

keys %{$api_decoded_result{'query'}->{'pages'}}

会做你想做的事。

关于Perl "keys on reference is experimental"警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37748555/

相关文章:

arrays - 在 Perl 中,如何创建和使用散列数组?

perl - 在散列键重复中,将值连接到 perl 脚本中的先前键中

perl - 我可以安全地要求 Perl 的 DBI 而不是使用它吗?

linux - Perl CPAN 安装 - 依赖性问题

perl - 在 Perl 中如何打印到变量而不是文件?

python - 字典不给变量赋值

c# - 如何获取字典中的键列表?

c++ - C++ 中的 Anagram 查找器程序

algorithm - 是否有任何散列函数允许您调整表的大小而无需重新散列(删除+重新插入)内容?

perl - 捕获独特的部分,无论出现偶数还是奇数