変数や関数定義を削除する
undef
は EXPR の値を未定義にします。
スカラー値、配列 (@
), 連想配列 (%
),
サブルーチン (&
), タイプグロブ (*
) でのみ使います。
例えば、undef $hash{$key}
は期待通りには動作しませんので注意してください。
この場合は delete
を使ってください。
undef
は常に未定義値を返します。
EXPR を省略すると何も未定義にしません。
そのため、undef
は未定義値を得るために使うことがあります。
次の例は、スカラー、配列、連想配列を未定義にします。
undef $val;
undef @ary;
undef %hash;
undef &mysub;
次の例は、スカラー変数に明示的に未定義値をセットしています。
my $var = undef;