my @matches = ($result =~ m/INFO\n(.*?)\n/);
したがって、Perl では、すべての一致をその正規表現に保存したいと考えています。発生するたびに INFO\n と \n の間に値を格納しようとしています。
しかし、私は最後のオカレンスのみを保存しています。私の正規表現は間違っていますか?
/g
グローバルマッチングには修飾子を使用します。
my @matches = ($result =~ m/INFO\n(.*?)\n/g);
.
この場合、改行と一致しないため、遅延定量化は不要です。以下の方がパフォーマンスが向上します。
my @matches = ($result =~ m/INFO\n(.*)\n/g);
/s
ピリオドを改行と一致させたい場合に使用できます。これらの修飾子の詳細については、perlreを参照してください。