- ベストアンサー
配列内の要素をパターンマッチする
@inputと$ansがあります。プログラムを実行するなかで@inputに要素を加えて行きます。実行の条件により要素数はことなります。 $ansというデータを与えられたときに$ansが@input内に存在しなければ次の処理に行くといった感じのプログラムを作ろうとしています。 私は@input内の要素と$ansをパターンマッチさせてマッチしなければ次に行くっといった感じのプログラムにしたいのですが配列内の要素をパターンマッチする方法がイマイチ分りません。 どなたか教えて下さい。お願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
以下のようにしてください。 foreeachで繰り返します。 ---------------------------- @input = ("abc","efg","abx","efx"); $ans = "ef"; foreach $data (@input){ if ($data =~ /$ans/){ $flg = 1; $match = $data; last; } } if ($flg == 1){ printf("$match がマッチしました\n"); }else{ printf("マッチしません\n"); } この例では、 efg がマッチしました と表示されます。
その他の回答 (1)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.2
過去に似たような質問がありました