Thread implementing 'perl -i': Using a fh rw
(13 answers)
Opened by dukeofnukem at 2007-03-12 19:06
Warum willst Du denn nur einen fh verwenden? Und warum scheiden externe Module aus? (Und wie renee schon sagt: Tie::File ist nicht mehr extern..)
Wenn die Daten nicht so groß sind, dass sie ohne Probleme zwei Mal auf die Festplatte passen, wäre so etwas auch gut: Code: (dl
)
1 # Einlesen Ansonsten gibt es eben auch noch die Variante: Code: (dl
)
1 open my $f, '+<', $filename or die $!; Aber ich kann es nicht oft genug betonen: Hände weg von der zweiten Variante: Denn wenn dein Programm an der richtigen Stelle abstuerzt (oder der ganze Rechner), ist die Datei leer und die Daten futsch. Dieses Problem hat die erste Variante nicht. Ausserdem ist die Änderung an der Datei in der ersten Variante atomar, d. h. immer wenn jemand die Datei ausliest, ist sie vollstaendig und enthaelt nicht irgendwelches teilweise geschriebene Zeug. (Wenn Dein Programm mehrfach gleichzeitig laufen koennte, brauchst Du aber wahrscheinlich trotzdem ein flock.) Quote Dann solltest Du wohl doch nicht zu viel mit $^I rumspielen ;) Sorry, dass ich Dir davon erzaehlt habe. Lieblingsmodule:
![]() ![]() |