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

配列