【发布时间】:2016-10-11 10:33:58
【问题描述】:
我的 perl 程序发出了一些警告,我还没有运气在 Internet 上搜索解决方案。有什么办法可以重写下面的代码 sn-p 以免引发警告?
"keys on reference is Experimental at...":
foreach my $key ( keys %$api_decoded_result{'query'}->{'pages'} ) {
@words = split / /, $api_decoded_result->{'query'}->{'pages'}{$key}->{'extract'};
}
【问题讨论】:
-
即使使用我手头最旧的 Perl 版本 5.14,它实际上也会产生
syntax error at a.pl line 1, near "$api_decoded_result{",因为%$api_decoded_result{'query'}没有任何意义。 -
我认为它在 5.20.2 上是实验性的,但在较新的版本中被删除,因此出现语法错误
-
不,您在 5.24+ 中从
keys($ref)得到的错误是Experimental keys on scalar is now forbidden。
标签: perl dictionary hash