以下まるっと引用しておく。
Perlにおける真偽値を解説します。
Perlにおける偽値は次の五つです。
- 0
- "0"
- "" 空文字列
- undef
- () 空リスト
Perlにおける真値は上記以外すべてです。たとえば、"0.0"は、数値としては0と等しいが、真として扱われます。
真偽値のサンプルコード
use strict;
use warnings;
# Perlにおける真偽値
# 0 と "0" と undef と "" と () だけが、Perlにおける偽値
print "1: 偽の場合は実行されない。\n\n";
if (0) { print "実行されない。" }
if (undef) { print "実行されない。" }
if ("") { print "実行されない。" }
if ("0") { print "実行されない。" }
if (()) { print "実行されない。" }
# 上記以外は、すべて真。
print "2: 真の場合は、実行される。\n";
if("a"){ print qq( "a": 実行される。\n ) }
if(-1){ print "-1 : 実行される。\n" }
if("0.0"){ print qq( "0.0": 実行される。\n ) }
実行結果
1: 偽の場合は実行されない。 2: 真の場合は、実行される。 "a": 実行される。 -1 : 実行される。 "0.0": 実行される。
引用元: [http://d.hatena.ne.jp/perlcodesample/20080323/1206280262]