Thread implementing 'perl -i': Using a fh rw
(13 answers)
Opened by dukeofnukem at 2007-03-12 19:06
Alohá!
Wie benutzt man (oder implementiert falls nicht verfügbar) die Funktionalität von 'perl -i'? Folgende Situation: Habe einen Filehandle auf den extrahierte logeinträge geschrieben werden; zum Zeitpunkt des Öffnens kann es sein daß die Datei bereits existiert, möglicherweise aber auch nicht. Nachdem ich aus der Extraktionsschleife komme, möchte ich meine von volatile data (timestamps, etc.) bereinigte Ergebnisdatei (die über den fh geöffnet ist) nach Duplikaten durchsuchen und diese löschen (mittels hash, ähnlich wie bei Perldoc beschrieben.) Nun möchte nicht häßlich den fh schließen, die Datei slurpen, dupes removen und wieder burpen, sondern den noch offenen fh benutzen. Leider kann ich zwar laut Perldoc mittels Code: (dl
)
open("+>> $filename") Allzugern würde ich aber - die Datei z.B. über IO::File öffnen (kann auch klassisches open sein wenns denn sein muß, aber halt append falls schon existent) - per default appending schreiben (Extraktionsschleife) - mittels seek($fh, 0, 0); auf Anfang springen ((un)nötig?) - die Datei mittels @lines = <$fh> slurpen - das array durch meinen uniquifier jagen - weiteres (un)nötiges seek($fh, 0, 0) ? - den Inhalt der Datei komplett durch ein print {$fh} join('', @unique) ersetzen - Jetzt endlich und einmalig schließen Wie gehe ich das am besten an? Muß ich am Ende doch schließen, slurpen, uniquifien, burpen? Das fände ich häääääääßlich :-) TMTOWTDI oder? TIA, DoN\n\n <!--EDIT|dukeofnukem|1173719285--> drum&bass is a state of mind
|