为什么 Perl 会在下面的代码片段中出现问题?
$ perl -Mstrict -wE '@ARGV ||= ".";'
Can't modify array dereference in logical or assignment (||=) at -e line 1, near "'.';"
Execution of -e aborted due to compilation errors.
虽然它愉快地处理
$ perl -Mstrict -wE '@ARGV = @ARGV || ".";'
我看不到perldiag
这里的解释有多大帮助:
无法修改 %s 中的 %s
(F) 不允许您分配指定的项目,或尝试以其他方式更改它,例如使用自动增量。
非常感谢对这种行为进行更人性化的解释。