Perlプログラムに関する各種メモ書き

Perlで in_array

PHPには配列の要素にある値が存在するか確認する in_array() という関数があるのですが、

Perlには標準ではないので下記に書いてみます。

sub in_array() {
    my ($val,$array_ref) = @_;
    
    foreach my $elem(@$array_ref) {
        if ($val=~m/^[0-9]+$/){
            if ($val == $elem) { return 1; }
        }
        else{
            if ($val eq $elem) { return 1; }
        }
    }
    return 0;
}

■ 使い方

in_array("検索したい値", 配列へのリファレンス); とします

my @array=('apple','blueberry','orange');

my $data='apple';
if ( in_array( $data, ?@array) ){
    print ("$dataはすでに配列の中にあります");
}


関連エントリー

No.212
08/11 10:48

edit

配列