我知道这种问题之前已经被问过很多次了。我再次来到这里的原因是我觉得我可能错过了一些简单而基本的东西。
是否有可能让这种搜索替换例程更好。例如,不打开同一个文件两次。同时,欢迎与速度相关的建议。
请注意,这适用于多行匹配,并替换多行字符串。
#!/bin/perl -w -0777
local $/ = undef;
open INFILE, $full_file_path or die "Could not open file. $!";
$string = <INFILE>;
close INFILE;
$string =~ s/START.*STOP/$replace_string/sm;
open OUTFILE, ">", $full_file_path or die "Could not open file. $!";
print OUTFILE ($string);
close OUTFILE;