有人知道爲什麼會發生這種情況嗎?爲什麼當我對一個未定義的數組進行grep時會發生這種情況?
$ perl -e '@arr = []; print "HELLO." unless grep {/asdf/ =~ $_} @arr;'
輸出:
HELLO.
但
$ perl -e '@arr = undef; print "HELLO." unless grep {/asdf/ =~ $_} @arr;'
輸出什麼。
對我來說,好像兩個人都應該輸出「HELLO」。
「my @array;」創建一個空數組。有些人認爲「我的@array =();」更清楚些,但前者足夠,更加完美。 – runrig 2011-02-25 00:37:42