Rolf b: Perl Script- Website aufrufen

Beitrag lesen

Die Frage ist doch, wie Dr. Jekyll sich das vorgestellt hat. "Eine .html Datei erstellen und dann includen" - das muss doch nicht bedeuten dass die .html Datei statisch ist. Das Perl Script kann sie während seines Ablaufs erzeugt haben.

Ob das mit Perl geht - keine Ahnung. Im blödesten Zweifelsfall genauso wie das von mir vermutete Erstellen: Datei auf, while not eof() { Read, Print }, Datei zu, Datei löschen. Wie man das auf Perl erzählt, muss jemand anderes sagen :). Einen HTTP Redirect würde ich jedenfalls für die schlechteste Lösung halten, denn dann muss die Datei den Request überleben und steht nachher als traurige Leiche herum.

ALLERDINGS - dieser Ablauf ist problembefrachtet. Denn auf einem Webserver kann eine Menge Besucherverkehr herrschen, und je nach Serversoftware wird auch gerne mal mehr als ein Request gleichzeitig verarbeitet. Wenn ein Script in diesem Umfeld eine temporäre Datei aufbauen will, um sie am Ende auf den Antwortstream zu kopieren, entsteht ein Konflikt, weil zwei Script-Instanzen die gleiche Datei schreiben wollen. Bevor Dir der Kurgan deswegen den Kopf abschlägt, musst Du für solche Aktionen einen temporären Dateinamen erzeugen, der pro Request eindeutig ist. In PHP gibt's dafür Funktionen wie tempnam oder tmpfile, was Perl hier zu bieten hat weiß ich nicht.

Unterm Strich bleibt daher das Fazit: Lass es. Es ist guter Brauch auf dem Webserver, nach Möglichkeit alle Aktivitäten im Arbeitsspeicher auszuführen bzw. persistente Daten in Datenbanken zu halten, und dann die Antwortseite an Hand der Arbeitsspeicherdaten zu erzeugen. Temp-Dateien erzeugt man nur, wenn ansonsten der RAM explodieren würde.

Rolf