Dateien rückwärts lesen
ppongrat
- perl
oder den aktuellen Satz oben dranschreiben
.. ich will halt das, dass letzte wo reingeschrieben
wurde ganz oben steht ... wie ?
danke
oder den aktuellen Satz oben dranschreiben
.. ich will halt das, dass letzte wo reingeschrieben
wurde ganz oben steht ... wie ?
Wo ist das Problem?
Datei zum Lese/Schreibzugriff öffnen,
ggf. Datei locken,
alte Daten lesen,
an den Dateianfang springen,
neue Zeilen schreiben,
alte Daten schreiben,
Datei schliessen.
Peter
oder den aktuellen Satz oben dranschreiben
.. ich will halt das, dass letzte wo reingeschrieben
wurde ganz oben steht ... wie ?
BSP:
.
.
open (datei,"daten.txt") or die "Datei nicht da!";
@speicher = <datei>;
close (datei);
.
.
.
open (datei,">daten.txt");
print datei "NEUE ZEILE"; # Hier die neuen Daten in die Datei schreiben
print datei @speicher;
close (datei);
.
.
open (datei,"daten.txt") or die "Datei nicht da!";
@speicher = <datei>;
close (datei);
.
.
.
open (datei,">daten.txt");
print datei "NEUE ZEILE"; # Hier die neuen Daten in die Datei schreiben
print datei @speicher;
close (datei);
Das ist aber ganz übler Tobak! Kein flock, keine Checks der Rückgabewerte.
Peter
open (datei,"daten.txt") or die "Datei nicht da!";
@speicher = <datei>;
close (datei);
.
.
.
open (datei,">daten.txt");
print datei "NEUE ZEILE"; # Hier die neuen Daten in die Datei schreiben
print datei @speicher;
close (datei);
Das ist aber ganz übler Tobak! Kein flock, keine Checks der Rückgabewerte.
Genau!
Und was passiert in diesem Fall mit dem Inhalt der Dateien?
open (datei,"daten.txt") or die "Datei nicht da!";
@speicher = <datei>;
close (datei);
.
Wenn 2 Prozesse gleichzeitig auf diese Datei zugreifen, dann passiert das garantiert zu diesem Zeitpunkt! Und diesen Datenverlust würde ein flock auch nicht verhindern können.
.
open (datei,">daten.txt");
print datei "NEUE ZEILE"; # Hier die neuen Daten in die Datei schreiben
print datei @speicher;
close (datei);
Gruß Frank
Hi,
oder den aktuellen Satz oben dranschreiben
.. ich will halt das, dass letzte wo reingeschrieben
wurde ganz oben steht ... wie ?
Wann und wo soll es oben stehen?
Wirklich in der Datei?
Oder vielleicht nur bei irgend einer Anzeige?
Es ist sehr viel einfacher, eine Datei nur am Ende zu erweitert, bei
einer eventuellen Anzeige aber den gesamten Inhalt der Datei einzulesen
und umgekehrt sortiert anzuzeigen.
Das funktioniert tadellos bis zu einer gewissen Größe der Datenmenge.
Und oberhalb dieser Größe solltest Du eine intelligentere Form der
Speicherung ins Auge fassen, beispielsweise eine Datenbank.
Viele Grüße
Michael