最も単純な Perl REGEX を実行するのに問題があります。Notepad++ では正しく動作しますが、Perl では動作しません。
open FILE, "Something.txt";
while (<FILE>) {
s/./f/;
print;
}
ただし、出力は各行の最初の文字のみを F に変更します。この正規表現が明らかにすべての文字を F に変更すると言っている場合は、
私はしばらくperlを使用していませんが、試してみてくださいs/./f/g
(コメントのQuentinによると(感謝)、最初の一致後に停止するのではなく、gがグローバルになります)。
g
修飾子を追加してグローバルにする必要があります。そうしないと、最初の一致後に停止します。
s/./f/g
次のサンプル コードを参照してください。
ファイル :
$ cat /tmp/test
aaaa
bbbb
cccc
Perl コード (私が使用perlconsole
)
Perl> open FH, "<", "/tmp/test"
1
Perl> while (<FH>) { s/./f/g; print; }
ffff
ffff
ffff
Perl> close FH
1
Perl>
置換のg修飾子は、すべての出現を意味します。http://perldoc.perl.org/perlre.html#Modifiersを参照してください。
グローバルな変更のためにフラグを立てる必要があります。
open FILE, "Something.txt";
while (<FILE>) {
s/./f/g;
print;
}
CLOSE (FILE);