Hallo,
... einer sehr großen ... Standalone mit Perl ... funktioniert ... *tadellos* ...
... via ... Webserver ...ungefähr 150 Zeilen ... und bricht ... ab ...
ich hatte einmal ein ähnliches Verhalten als ich ein Script für Hessen tanzt schrieb. Nach ca. 1,6 KB Filegröße beim umkopieren war auf dem Webserver das Ende des deterministischen Verhaltens erreicht. Mein Problem damals, war mein nicht weit genug ausgereiftes Verständnis von Perl.
Ich vermute, daß dies hier auch vorliegt. Die Zeile
... my @inhalt = <LOGFILE>; ...
evaluiert in einem Listenkontext. Dies bedeutet, daß das gesamte in einem Rutsch in das Array eingelesen wird. Dies bedeutet, Perl muß dem System Speicherplatz > 160Kbyte abfordern. Dies wahrscheinlich nicht am Stück, da nicht bekannt sein dürfte wie groß das File ist, und Perl intern eine Leseschleife aufmacht (Dies wahr eine Vermutung aus dem Verhalten) Dies ist normalerweise in heutigen Systemen als eingenständiges Programm kein Problem. In einem Webbrowserumfeld, hängt es aber von dessen Umfeld (Belastung, Konfiguration, Hersteller :-), Uhrzeit, Gezeiten oder was auch immer) ab, ob eine solche Anforderung durchgeht oder nicht.
Meine Zeile damals war: "print OUTFILE <INFILE>;". Erst mit "while (<INFILE>) { print OUTFILE; }" funktioniere es dann. Im ersten Fall hatte ich einen Listenkontext, mit dem erfolg des nicht mehr reproduzierbaren Verhaltens. Im zweiten Fall, dem skalaren Kontext ging dann alles wie am Schnürchen (ich schreibe dies alles aus dem Gedächtnis, es kann also sein, daß meine Perl-Fragmente nicht ganz richtig sind. Ich hoffe jedoch den Unterschied im Speicherbedarf der beiden Kontexte verdeutlicht zu haben).
Wenn ich richtig liege, wird es Dir wahrscheinlich trotzdem nicht helfen, da Du ja die Reihenfolge umdrehen willst, und deswegen höchstwahrscheinlich gezwungen bist alles in den Speicher zu laden.
Ciao.
PS.:
Sicherlich sinnvolle Anschaffungen sind die Perl-Bücher aus dem Hause O'Reilly.
PERL: Für Anfänger
PERL, Das Kochbuch: Interessant
PERL für Runaways: (Sorry: Fortgeschrittene Perl Programmierung) Sehr interessant. Ich habe die Beispiel Fragmente meistens nicht (auf Anhib) verstanden. Aber die Info, was mit Perl alles möglich ist - und in welcher Kürze - einfach sagenhaft.