まくまくPerlノート
ハッシュのキーが存在するか調べる
2008-03-04

exists 関数を使って、あるキーがハッシュ内に存在するかを調べることができます。

if (exists $hash{'key'}) {
    # キー 'key' が存在する
}

値の真偽値を調べているわけではないので、以下のようにキーの存在を判断するのは間違いです。

# 間違った方法
if ($hash{'key'}) {
    # これでは値の真偽値を調べているだけ!
}

このようにすると、$hash{'key'} の値として数値の 0 が格納されている場合に、偽 (false) と判断されてしまいます。

2008-03-04