這是一塊普通的例子的代碼:爲什麼Perl認爲-1是真的?
while (1) {
print "foo\n";
}
其中打印「富」永遠。
perl foo.pl
foo
foo
foo
...
和
while (0) { print "foo\n"; }
悄然而逝,你希望:
perl test.pl
有人可以解釋爲什麼這是同時的一個有用的執行?這適用於5.10至少,Unix和MacOS X系統:
while (-1) { print "foo\n"; }
這給
foo
foo
foo
...
'-1'在許多語言中被認爲是真正的價值。 – Quentin
在Perl中,0是錯誤的;任何不是虛假的都是真實的。 –
我很好奇導致這個問題的原因。有沒有一種語言認爲-1錯誤? – ikegami