Löschen einer Zeile aus einer riesigen Datei in Perl

Ich habe eine riesige Textdatei und die ersten fünf Zeilen lauten wie folgt:

This is fist line
This is second line
This is third line
This is fourth line
This is fifth line

Nun, ich möchte etwas an einer zufälligen Position in der dritten Zeile dieser Datei schreiben, das die Zeichen in dieser Zeile durch die neue Zeichenfolge ersetzt, die ich schreibe. Ich kann das mit dem folgenden Code erreichen:

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);

Ich bin jedoch nicht in der Lage, mit der gleichen Vorgehensweise herauszufinden, wie ich die gesamte dritte Zeile aus dieser Datei löschen kann, sodass die folgenden Texte angezeigt werden:

This is fist line
This is second line
This is fourth line
This is fifth line

Ich möchte nicht die gesamte Datei in ein Array einlesen, und ich möchte auch nicht Tie :: File verwenden. Ist es möglich, meine Anforderung mithilfe von Suchen und Erzählen zu erfüllen? Eine Lösung wird sehr hilfreich sein.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage