Siechfred: Öffnen / Schreiben mit +>datei.dat (Variante 2)

Beitrag lesen

Variante 2, damit sparst du eine seek-Anweisung:

open FH, '+<', $datei || die $!;  
my $old_data = <FH>;  
seek FH, 0, 0;  
truncate FH, 0;  
print FH 'Some new data';  
seek FH, 0, 0;  
my $new_data = <FH>;  
close FH;

Vorteil der ersten Variante ist, dass die Datei automatisch angelegt wird, wenn sie noch nicht existiert, dies geschieht bei der zweiten Variante nicht. Dafür wird bei ihr der Dateizeiger von Haus aus am Anfang der Datei positioniert. Welche nun die bessere für dein Vorhaben ist, musst du entscheiden. Wichtig ist auf jeden Fall die truncate-Anweisung, wenn du nicht sicherstellen kannst, dass die alten und die neuen Daten nicht die gleiche Länge haben.

Siechfred

--
Ich bin strenggenommen auch nur interessierter Laie. (molily)
Kabelkuddelmuddel || Steuerfreie Geburtsbeihilfen?  || RT 221 Erfurt-Altstadt i.V.