exists関数の使い方(指定したキーがハッシュに存在するかどうか確認)
Perl で用意されている組み込み関数の一つである exists 関数の使い方です。 exists 関数は指定したキーがハッシュに存在するかどうか確認します。
(2022 年 09 月 27 日公開 / 2022 年 09 月 27 日更新)
exists関数の書式と基本的な使い方
exists 関数は次のように定義されています。
exists exists(EXPR)
指定されたキーがハッシュに存在するかどうか確認します。 パラメータ: EXPR ハッシュの要素 戻り値: 存在する場合は真(true)、そうでなければ偽(false)
1番目の引数には対象となるハッシュの要素を指定します。ハッシュの要素は「$ハッシュ名{キー}」で表されます。指定したキーが存在した場合、真(true)が戻り値として返されます。
注意すべき点はキーが存在するかどうかだけを見ている点です。キーに対応する値が未定義値であってもキーが存在すれば真(true)を返します。
具体的には次のように記述します。
my %address = ( "鈴木" => "東京都千代田区", "山田" => "東京都葛飾区" ); if (exists($address{'鈴木'})){ print "登録されています\n"; }
サンプルコード
では簡単なプログラムで確認してみます。
use strict; use warnings; use utf8; binmode STDIN, ':encoding(cp932)'; binmode STDOUT, ':encoding(cp932)'; binmode STDERR, ':encoding(cp932)'; my %address = ( "鈴木" => "東京都千代田区", "山田" => "東京都葛飾区", "本田" => "愛知県名古屋市", "遠藤" => "大阪府堺市" ); my $name = "鈴木"; if (exists($address{$name})){ print "${name}さんは登録されています\n"; }
上記を「test5-1.pl」の名前で保存します(文字コードはUTF-8です)。そしてコマンドプロンプトを起動し、プログラムを保存したディレクトリに移動してから次のように実行して下さい。
-- --
Perl で用意されている組み込み関数の一つである exists 関数の使い方について解説しました。
( Written by Tatsuo Ikura )
Profile

著者 / TATSUO IKURA
プログラミングや開発環境構築の解説サイトを運営しています。