Tại sao Perl ném phù hợp với đoạn mã sau?Có gì sai khi viết "@ARGV || = '.';"?
$ 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.
Trong khi nó hạnh phúc quá trình
$ perl -Mstrict -wE '@ARGV = @ARGV || ".";'
Tôi không thấy perldiag
giải thích giúp ở đây nhiều:
Không thể sửa đổi% s trong% s
(F) Bạn không được phép gán cho mục được chỉ định, hoặc nếu không cố gắng thay đổi nó, chẳng hạn như với tự động tăng.
Một lời giải thích con người thân thiện hơn đối với hành vi này được nhiều đánh giá cao.
http://stackoverflow.com/questions/4385998/why-doesnt-work-with-arrays –
@mpapec: Cảm ơn cho việc tìm kiếm câu trả lời xuất sắc câu hỏi – Zaid