Perlについての質問箱 20箱目
■ このスレッドは過去ログ倉庫に格納されています
0338デフォルトの名無しさん
2005/11/19(土) 21:11:27あるテキストファイルにときおり存在する1行以上の連続する空行を
<p>
の1行に圧縮するプログラムを書いているのですが、
open MYFILE, "???.txt";
undef $/;
$text = <MYFILE>;
$text =~ s/^\s*$/<p>/mg;
print $text;
これを実行すると、1行のみの空行は<p>に圧縮されますが
2行以上の連続する空行は<p><p>と圧縮されます。
正規表現の行を
$text =~ s/^\s*$/<p>/m for 1..10;
とかにすると意図した通りになります。
(もちろんこれだと10個までですが)
なぜこのような結果になるのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています