Удаление строки из огромного файла в Perl
У меня есть огромный текстовый файл, и первые пять строк этого читаются как ниже:
This is fist line
This is second line
This is third line
This is fourth line
This is fifth line
Теперь я хочу написать что-нибудь в произвольной позиции третьей строки этого файла, которая заменит символы в этой строке новой строкой, которую я пишу. Я могу добиться этого с помощью приведенного ниже кода:
use strict;
use warnings;
my @pos = (0);
open my $fh, "+<", "text.txt";
while(<$fh) {
push @pos, tell($fh);
}
seek $fh , $pos[2]+1, 0;
print $fh "HELLO";
close($fh);
Тем не менее, я не могу понять с тем же подходом, как я могу удалить всю третью строку из этого файла, чтобы текст читал ниже:
This is fist line
This is second line
This is fourth line
This is fifth line
Я не хочу читать весь файл в массив, и при этом я не хочу использовать Tie :: File. Можно ли выполнить мое требование с помощью поиска и рассылки? Решение будет очень полезно.