私はこれまでこれを行ってきましたが、まだ機能していません。
open (GOOD_FILE,"<$pre.XXX.XXX$post") or die "Cannot open XXX";
# temporarily undefine the input line separator to read the entire file at once:
my $text = do { local $/; <GOOD_FILE> };
close GOOD_FILE or die $!;
#File name to replace XXXX.XXXXX.XXXX.XXXX.CCCC where last CCCC can be anything
$text =~ s/^(.*\n)?XXXX\.XXXX\.XXXX\.[^\n]*/$1myname/s;
open (GOOD_FILE,"<$pre.XXXX.XXXX$post") or die "Cannot open XXXX";
print GOOD_FILE $text;
close GOOD_FILE or die $!;
入力ファイルは次のようになります。
I am tester testing
I am still learning.
XXXX.XXXX.XXXX.XXXX.CCCC
I am tester.
XXXX.XXXX.XXXX.XXXX.PPPP
次の出力が生成されます。
I am tester testing
I am still learning.
XXXX.XXXX.XXXX.XXXX.CCCC
I am tester.
myname.
しかし、私は空のファイルを取得しています。
みんなありがとう、私は何を置き換えるかで変数を使用して問題を解決することができました私は変数として正規表現しました、そしてそれはうまくいきました。