Dlaczego Perl podaje dopasowanie w poniższym fragmencie kodu?Co jest nie tak z pisaniem "@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.
Choć szczęśliwie przetwarza
$ perl -Mstrict -wE '@ARGV = @ARGV || ".";'
ja nie widzę perldiag
wyjaśnienie pomaga tu wiele:
Nie można modyfikować% s% s
(F) Nie możesz przypisać do wskazanej pozycji lub w inny sposób spróbuj ją zmienić, na przykład z auto-inkrementacją.
Bardziej ludzki w obsłudze wytłumaczenie tego zachowania jest bardzo cenione.
http://stackoverflow.com/questions/4385998/why-doesnt-work-with-arrays –
@mpapec: Dzięki za znalezienie pytanie – Zaid