Ниже у меня работает код
use strict;
use warnings;
open FILE, 'inputfile.txt';
my $contents = do { local $/; <FILE> };
close FILE;
$contents =~ s/<h2(.*?)<\/h2>/<h1$1<\/h1>/sg;
print $contents;
Обратите внимание, что $/
является разделителем входных записей. По умолчанию это перевод строки \n
.
Мы создаем локализованную версию $/
, поэтому ее предыдущее значение восстанавливается после завершения блока.