pl: Zeiger Wettrennen

Beitrag lesen

hi,

Das war ein Beispiel. Die Verwendung von fseek() findet z.B. dann Anwendung, wenn man nur Teile der Datei ändern oder auslesen will. Z.B. um einen Index zu durchsuchen oder um ein Datum in einer Datenbank-Datei zu ändern.

Das ist das was man eigentlich nicht machen sollte: Strukturen auf Dateiebene ändern. Und auch eine Suche ist effizienter wenn sie nicht auf Dateiebene sondern im Hauptspeicher ausgeführt wird. Kurzum: Random Access auf Dateiebene (dem Transport Layer!) abbilden zu wollen ist nicht nur Unfug sondern völlig ineffizient.

Das ist keine Eigenheit von Perl, sondern von dem System-Call. Mit anderen Worten: fseek() verhält sich da gleich, weil es den gleichen System-Call verwendet. Unter Linux ist das lseek.

Ja, man lann auf diese Art und Weise einen ganzen Datenträger so löschen, daß etwaige vorher geschriebene Daten nicht wieder hergestellt werden könne. Ist aber letztendlich auch ein sequentieller Vorgang.

MfG