在Perl 5.26.2中我得到:
Experimental each on scalar is now forbidden at a.plx line 67.
Type of arg 1 to each must be hash or array (not private variable) at a.plx
line 67, near "$val)"
Execution of a.plx aborted due to compilation errors.
Run Code Online (Sandbox Code Playgroud)
第67行是其中的
67 while (my ($ip, $val2) = each($val))
68 {
......
}
Run Code Online (Sandbox Code Playgroud)
each采用哈希,而不是引用.[1]因此,
while (my ($ip, $val2) = each($val))
Run Code Online (Sandbox Code Playgroud)
应该
while (my ($ip, $val2) = each(%$val))
Run Code Online (Sandbox Code Playgroud)
Perl 5.12,5.14和5.16允许使用引用.这是一个错误.
Perl 5.18,5.20和5.22仍允许它,但警告你是否这样做.
Perl 5.24还原了这个添加.
| 归档时间: |
|
| 查看次数: |
257 次 |
| 最近记录: |