• ベストアンサー

複数回のパターンマッチ

どうしても複数回のパターンマッチで値が取得できません。 すべてを配列などに代入したのですがどうすればよいのでしょうか? 下記のような感じです。 $str = <<EOF <a>dasfdaf</a><br> asfdafdsa sfatyuytu <a>jkytr</a><br> gjetjt tyurtyu EOF ; if ($str =~ /<a>(.*)<\/a><br>/g) { @list = $1; } よろしくお願い致します。

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

  • ベストアンサー
  • kumoz
  • ベストアンサー率64% (120/185)
回答No.2

次のような方法で、1度に処理することができます。 @list = ($str = <<EOF) =~ /<a>(.*)<\/a><br>/g;   # ; は EOF の次の行でも可 ・・・ EOF または、 @list = ($str = <<EOF) ・・・ EOF =~ /<a>(.*)<\/a><br>/g;

その他の回答 (1)

  • Werner
  • ベストアンサー率53% (395/735)
回答No.1

@list = ($str =~ /<a>(.*)<\/a><br>/g); もしくは while ($str =~ /<a>(.*)<\/a><br>/g) { push (@list, $1); }

関連するQ&A