Wie füge ich Linien oben und unten eine Datei in Perl?

Möchte ich hinzufügen, dass eine Linie zum oberen und unteren Rand der Datei. Ich kann es auf folgende Weise.

open (DATA, "</usr/old") || die "cant open old\n"; #file to which line has to be added

my @body=<DATA>;
close(DATA);

open (FILE, ">/usr/new") || die "cant open new\n"; #file after stuff has been added

print FILE "9   431";

print FILE "\n";

my $body=@body;

for (my $i=0; $i<$body;$i++){

    print FILE "$body[$i]";#not using for loop leads to addition of spaces in new file
}

print FILE "(3,((((1,4),(7,6)),(2,8)),5),9)";

Seit ich laufen für eine große Menge von Datei, wird dieser Vorgang sehr zeitaufwendig sein. Macht Perl eine spezifische Funktionalität, die verwendet wird zum hinzufügen von Zeilen am oberen und unteren Ende einer Datei?

Es gibt keine solche Sache wie das hinzufügen von Linien auf der Oberseite, müssen Sie irgendeine Art von Puffer zu speichern, was Sie schreiben wollen, auf der Unterseite, es kann ein string sein, aber ich bevorzuge eine temp-Datei. So dass man schreiben/Anhängen von oben nach unten. Es gibt keinen anderen Weg.
nicht wahr. Sie können fügen Sie eine Zeile am Anfang der Datei mit einem einfachen test: perl -pi -e 'print "This will appear before the original first line\n" if $. == 1' inFile.txt Von stackoverflow.com/a/4388309/48082
dein Beispiel erzeugt eine neue Datei, schreibt die neue hinein, dann schreibt den Inhalt der original-Datei. Die Tatsache, dass das newfile endet ein link mit dem gleichen Namen wie das original ändert nichts an der Tatsache, dass es eine andere Datei.
Ah, ich sehe. Guter Punkt. @WilliamPursell

InformationsquelleAutor shubster | 2009-08-05

Schreibe einen Kommentar