Perlのハッシュでキーの有無を調べる方法

Perlのハッシュでキーの有無を調べる方法

Posted at March 19,2019 12:03 AM
Tag:[Perl]

Perlのハッシュでキーの有無を調べる方法を紹介します。

1.問題点

Perlで下記のようなハッシュを作成しました。

my $hash;
 
$hash->{orange} = 1;
$hash->{grape} = 1;
$hash->{apple} = 1;

このハッシュに"apple"というキーが存在するか調べたいのですが、方法がわかりません。

ということで、ハッシュにキーが存在するか調べる方法を紹介します。

2.ハッシュにキーが存在するか調べる

ハッシュにキーが存在するか調べるには、exists関数を使用します。

#!/usr/bin/perl
 
use strict;
 
my $hash;
$hash->{orange} = 1;
$hash->{grape} = 1;
$hash->{apple} = 1;
 
if ( exists $hash->{apple} ) {
    print "exist";
} else {
    print "no exist";
}

"apple"はキーに存在するので、実行結果は、

exist

となります。

if文に記述したハッシュキーを、存在しない任意の文字列に変更してみます。

#!/usr/bin/perl
 
use strict;
 
my $hash;
$hash->{orange} = 1;
$hash->{grape} = 1;
$hash->{apple} = 1;
 
if ( exists $hash->{abc} ) {
    print "exist";
} else {
    print "no exist";
}

"abc"はキーに存在しないので、実行結果は、

no exist

となります。

関連記事
zenback
人気エントリー
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)