Perlのundef

Perlでは、未定義な値をundefとして取り扱う。

ここで$hogeを数値型として扱う場合は0として、

文字列型として扱う場合は空文字列として扱う。

また、NULL値もundefとして扱われるようだ。

undef値を出力しようとするとエラーになってしまう。

このエラーを避けるために、変数が定義済みの場合のみ処理を実行するようなコードを書く必要がある。

変数が定義されているか(undefかどうか)を調べるために、

Perlではdefined関数が用意されているので、それを利用する。

defined関数は、引数として渡された値が定義されているならば真を、

未定義(undef)ならば偽を返す。

上記の条件を日本語に直すなら、

「もし、$hogeが定義されているならば$hogeを出力。未定義ならばVariable is undefを出力する。」

となる。

参考