Эти две строки в одном ответе, данном два дня назад
my $file;
$file.=$_ while(<>);
, не очень эффективны.Perl, вероятно, будет читать файл большими кусками, разбивать эти куски на строки текста для <>
, а затем .=
соединит эти строки, чтобы создать большую строку.Было бы более эффективно, чтобы хлебать файл.Основной стиль - изменить \$
разделитель входной записи.
undef $/;
$file = <>;
Модуль File::Slurp;
(см. perldoc File::Slurp
) может быть даже лучше.