説明
- 確認対象がハッシュの項目として存在する場合に真を返します。
- 確認対象が値を持っているかどうかを調べる場合にはdefinedを使って下さい。
使用例
ハッシュ%fooの項目fugaの存在および値のチェック
#!/usr/bin/perl
use strict;
use warnings;
my %foo = (
hoge => 1,
fuga => undef,
piyo => 'A',
);
my $index = 'fuga';
if (exists $foo{$index}) {
print "$index exists.\n"; # 項目は存在するのでこちらが表示される
} else {
print "$index not exists.\n";
}
if (defined $foo{$index}) {
print "$index defined.\n";
} else {
print "$index not defined.\n"; # 値は未定義値なのでこちらが表示される
}
ハッシュ%fooから項目fugaを削除する前とする後の項目の存在を確認する
#!/usr/bin/perl
use strict;
use warnings;
my %foo = (
hoge => 1,
fuga => undef,
piyo => 'A',
);
my $index = 'fuga';
if (exists $foo{$index}) {
print "$index exists.\n"; # 項目は存在するのでこちらが表示される
} else {
print "$index not exists.\n";
}
delete $foo{$index}; # 項目を削除する
if (exists $foo{$index}) {
print "$index exists.\n";
} else {
print "$index not exists.\n"; # 項目は存在しないのでこちらが表示される
}
※項目を削除した場合は,existsは偽を返します。