if(変数)をやってみた結果
perlでは負の値や空のレファレンスでもif(変数)でtrueと判断されてしまう。
my $one = 1; my $minus_one = -1; my $only_declare; my %empty_hash = (); my @empty_arr = (); my $empty_hash_ref = +{}; my $empty_array_ref = +[]; print "one\n" if $one; print "minus_one\n" if $minus_one; print "only_declare\n" if $only_declare; print "empty_hash\n" if %empty_hash; print "empty_arr\n" if @empty_arr; print "empty_hash_ref\n" if $empty_hash_ref; print "empty_array_ref\n" if $empty_array_ref; =pod 実行結果 one minus_one empty_hash_ref empty_array_ref =cut