Calocybe: große Files öffnen?

Beitrag lesen

Ich möchte eine datei einlesen, und sie verändern.
Das ganze mach' ich zeilenweise...
In jeder Zeile nehme ich eine Reihe von Ersetzungen vor.
Meine Datei ist mehrere Mb (5, oder so) groß.
Das ergebnis dieser ersetzungen schreibe ich in eine neue Datei. ER schreibt allerdings nur bis zu einem gewissen Punkt und nicht weiter. Die Datei ist am Ende 10,1Kb groß

#!/usr/bin/perl

Hallo Thomas!

Du hast die Dateihandles etwas durcheinander gehauen. Do oeffnest eine NEWDAT und schreibst in sie, schliesst aber eine NEWMAIL. Du oeffnest eine OLDDAT, liesst aber aus einer MAILDAT. Oder ist Dir das nur jetzt eben passiert, als Du dieses Beispiel geschrieben hast? Ein Groessenbegrenzung sollte es prinzipiell jedenfalls nicht geben. Normalerweise ist die einzige Begrenzung Dein verfuegbarer Arbeitsspeicher (+ Swapfile natuerlich).

Falls Du mit den folgenden drei Zeilen nur bezweckst, eine neue Datei anzulegen, so brauchst Du uebrigens nicht extra eine Zeile auszugeben, die wird auch so angelegt.

open(NEWDAT, ">newdat.txt");
print NEWDAT "Neue Datei\n";
close (NEWMAIL);

Aber selbst das ist meines Wissens nicht noetig, wenn Du weiter unten mit

open(NEWDAT, ">>newdat.txt");

immer wieder etwas an die Datei anhaengst. Wenn sie da noch nicht existiert, wird sie imho automatisch angelegt.

Calocybe