自動目錄
PERL沒有邏輯的真假值
換句話說,沒辦法作以下的設定:
$c=true; # X 錯誤 Unquoted string "true" may clash with future reserved word
$d=false; # X 錯誤
但在PERL中可以判斷哪些值是true或false。
真是難懂的邏輯,打個比方來說:
有個檢測用的箱子,有兩個燈號T和F ,亮哪個燈號由這個檢測箱來判斷,他叫作"if"
變數==>[BOX] -- TRUE
∟FALSE
哪些值在 Perl 裡是真值,哪些是假值?
假值
undef — 未定義值
0 — 數字 0,無論你寫成 000 或是 0.0
'' — 空字串
'0' — 只包含一個羅馬數字 0 的字串,超過1個為真
\0 NULL
@a=() #空陣列
%h=() # 空雜湊
&f # 空副程式 sub f{}
真值
1 和任何非零數
' ' — 包含一個空白的字串
'00' — 兩個或許多數字零組成的字串
"0\n" — 一個數字零接上一個換行字元
'true'
'false' — 是的,即使字串 'false' 也是真值
@a=(undef) — 帶有 undef項目的陣列
參考資料
[1] https://tw.perlmaven.com/boolean-values-in-perl