exists

連想配列からキーの存在をテストする

構文

解説

引数にキー付きの連想配列を指定すると、そのキーが連想配列に存在すれば真を、そうでなければ偽を返します。 なお、値が未定義値であったとしても、そのキーが存在している限り、真を返します。

my %hash = ( taro => 10, jiro => undef );
print exists( $hash{taro} )   ? 'True' : 'False', "\n";    # True
print exists( $hash{jiro} )   ? 'True' : 'False', "\n";    # True
print exists( $hash{saburo} ) ? 'True' : 'False', "\n";    # False

exists は連想配列のリファレンスでも利用可能です。

my $hashref = { taro => 10, jiro => undef };
print exists( $hashref->{taro} )   ? 'True' : 'False', "\n";    # True
print exists( $hashref->{jiro} )   ? 'True' : 'False', "\n";    # True
print exists( $hashref->{saburo} ) ? 'True' : 'False', "\n";    # False

exists はサブルーチンの存在のテストにも使うことができます。

print exists(&func)  ? 'True' : 'False', "\n";    # True
print exists(&dummy) ? 'True' : 'False', "\n";    # False

sub func { }