連想配列からキーの存在をテストする
引数にキー付きの連想配列を指定すると、そのキーが連想配列に存在すれば真を、そうでなければ偽を返します。 なお、値が未定義値であったとしても、そのキーが存在している限り、真を返します。
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 { }