Use of uninitialized value

perl -w をつけて実行していると、よく「Use of uninitialized value」という文字列にお目にかかります。これは Java でいえばヌルポ、C や C++ でいえば強制終了なので、本来ならワーニングレベルの話ではありません。Perl がいかにいい加減で寛容かを示すいい例だと思います。Perl では「if($a)」とすると $a が '0' でも 0 でも undef でも偽を返すそうなので、「if(defined($a))」とするといいみたいです。