Uninitialized value in pattern match

例えば

push @plugins, 'Static::Simple' if $ENV{CATALYST_ENGINE} =~ /^HTTP/;

などとしたときに $ENV{CATALYST_ENGINE} が未定義だとタイトルのように怒られるわけです。

$ENV{CATALYST_ENGINE} and $ENV{CATALYST_ENGINE} =~ /^HTTP/;

とか

$ENV{CATALYST_ENGINE} || '' =~ /^HTTP/;

とかするわけですがいまいち冗長!

これはどうするのが普通なのか。

by typester / at 2006-02-01T04:00:00 / perl / Comments(0)