Я знаю, что такие вопросы задавались уже много раз. Причина, по которой я снова здесь, - это то, что я чувствую, что пропустил что-то простое и фундаментальное.
Возможно ли сделать эту процедуру поиска? Например, не открывая тот же файл дважды. Также приветствуются советы по скорости.
Обратите внимание, что это работает с многострочными совпадениями и заменяет также многострочные строки.
#!/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;