Klaus Mock: Keine Anzeige

Beitrag lesen

Hallo,

Ich halte diese Zeilen für problematisch, weil zu kurz:

open(INFO, $file) or die 'Konnte Datei nicht oeffnen';
@lines = <INFO>;
close(INFO);
print @lines;

Im Gegenteil, viel zu lang:[1]
open(INFO, $file) or die "Konnte Datei $file nicht oeffnen:$!";
print while(<INFO>);
close INFO or die "Konnte Datei $file nicht schliessen:$!";

Was mache ich da falsch.
Du läßt @lines ausgeben, ohne das vorher zu splitten.

Daran kanns nicht liegen.
Wenn das Script aus dem Original-Posting keinen Text zurückliefert, dann müßte add.html leer sein.

Es könnte auch an einem eventuell installierten mod_perl liefen, das bekanntlich recht eigenartige Sachen anstellt, wenn man ohne 'use strict' arbeitet.

Oder aber auch an dem verwendeten Browser, der den Inhalt aus irgendeinem Grund aus dem eigenen Cache anstelle vom Server holt.

Grüße
  Klaus

[1] Ich halte es übrigens für eine wirkliche Unsitte, Dateien immer nach dem Schema
open IN, $dateiname;
@inhalt = <IN>;
close IN;
...

zu verarbeiten. Gerade in diesem Falle kann es potentiell zu Problemen mit der Speicherauslastung kommen, wenn beispielsweise viele Requests gleichzeit mit großen Dateien bedient werden müssen.
Da wird dann der Dateiinhalt sinnloserweise zuerst in ein Array geladen, welches alleine nur zum Zweck dient, wiederum auf STDOUT geschrieben zu werden.