我的 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/