Thread Grosse Dateien öffnen: Ohne TIE::File ?
(23 answers)
Opened by Free Faq at 2004-08-12 22:06
[quote=ptk,13.08.2004, 14:35]...Am Ende dieser Datei kamen periodisch neue Daten dazu. Ich habe nun Tie::File verwendet und einfach eine Schleife for(my $i = $#file; $i>=0; $i--) { ... } gemacht, um die Anfangszeile der neu dazugekommenen Daten festzustellen. Leider liest Tie::File *immer* die gesamte Datei ein, so dass es relativ lange gedauert hat, auch wenn nur ganz wenig oder gar keine neuen Daten dazugekommen sind. Nach dem Umsteigen auf File::ReadBackwards ist die Performance ertraeglich geworden.[/quote]
also so eine art tail -f? dafuer wuerde ich dann aber auch nicht Tie::File nehmen, sondern lieber mit seek arbeiten Die ganze Datei: eigentlich sollte es sich nur durch die gesammte datei durchwursteln, nicht aber die ganze datei gleichzeitig im RAM halten. Falls du sie doch komplett im RAM halten willst, musst du den parameter 'memory' auf ein oberes limit setzen; ich glaube, das standardlimit ist irgendwas zwischen 1 und 5 MB... perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/ |