• ベストアンサー

配列に要素が無い場合

お世話になっております。 配列 @L に 変数 $N という要素が無い場合に 処理をさせたいのですが、どういった条件文を 書けば良いのでしょうか。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

あんまり効率を考えなくていいなら $Nが数字の時 $has = grep($_ == $N, @L); $Nが文字列の時 $has = grep($_ eq $N, @L); として 要素がないとき、$has==0なので if($has == 0){ #やりたい処理 } とすればいいと思います

pantonenezu
質問者

お礼

御回答有り難う御座いました。 お礼が遅くなりすみません。 結局使わなくなってしまいましたので、御回答頂いた順にptをお入れしております。 ご容赦下さい。

その他の回答 (2)

  • estea
  • ベストアンサー率44% (39/87)
回答No.3

$N や @Lの各要素に 含まれていないと 分かっている文字を用いて,たとえば \t なら if( join( "\t" , @L) !~ /$N/ ) { 処理。 } ってのは? 効率?無視です。

pantonenezu
質問者

お礼

御回答有り難う御座いました。 お礼が遅くなりすみません。 結局使わなくなってしまいましたので、御回答頂いた順にptをお入れしております。 ご容赦下さい。

  • zebedeer
  • ベストアンサー率66% (80/121)
回答No.2

こんな感じ? my %chk = map { $_,1 } @L; unless ($chk{$N}) { #hogehoge }

pantonenezu
質問者

お礼

御回答有り難う御座いました。 お礼が遅くなりすみません。 結局使わなくなってしまいましたので、御回答頂いた順にptをお入れしております。 ご容赦下さい。

関連するQ&A