undef

変数や関数定義を削除する

構文

解説

undefEXPR の値を未定義にします。 スカラー値、配列 (@), 連想配列 (%), サブルーチン (&), タイプグロブ (*) でのみ使います。 例えば、undef $hash{$key} は期待通りには動作しませんので注意してください。 この場合は delete を使ってください。

undef は常に未定義値を返します。 EXPR を省略すると何も未定義にしません。 そのため、undef は未定義値を得るために使うことがあります。

次の例は、スカラー、配列、連想配列を未定義にします。

undef $val;
undef @ary;
undef %hash;
undef &mysub;

次の例は、スカラー変数に明示的に未定義値をセットしています。

my $var = undef;