SSI wird nicht ausgeführt
Christian
- perl
Hi
Ich schreibe aus einer CGI Datei per "print "Content-type: text/html...." eine HTML seite, welche unter anderem auch diese SSI beinhaltet <!--#exec cgi="/cgi-bin/code_image.cgi"-->.
Nur leider wird das code_image.cgi nicht ausgeführt wenn ich Seite so aufrufe (wenn ich den Quelltext anschaue, steht da immer noch der #exec Befehl).
Wenn ich den ganzen HTML Code in eine HTML packe und diese aufrufe wird das SSI ohne Probleme aufgeführt.
Kann mir da jemand weiterhelfen?
Thx
Christian
Hi,
Kann mir da jemand weiterhelfen?
Ja.
Aber wir wollen ja mal nicht so sein *g*.
Das liegt daran, dass der Output von Perl nicht mehr durch den SSI-Parser geschickt wird, sondern direkt an den Client.
Warum benutzt du eigentlich in einem Perl Script SSI? Du kannst doch einfach in dem Perl-Script die anderen Dateien einfügen, wo ist da das Problem? Notfalls gibt es, wenn ich mich nicht irre, ein Perl Modul für SSI auf dem CPAN.
Falls du aber den Apache2 einsetzt, sollte das auch direkt machbar sein, aber da kann ich dich nur auf die Apache Dokumentation verweisen.
Grüße Andres Freund
Na das habe ich mir fast gedacht...
Mein Problem ist, dass ich den Inhalt einer HTML Datei in eine Variable lesen muss, diese dann modifiziere (eben in dem CGI) und dann aus dem CGI wieder ausgebe.
Der Code dafür sieht etwa so aus:
$html = &get_file("$fm_private'pathdocs/fm_globals'urlmailboxregistry");
$html =~ s/name="username"/name="username" Value="$username"/;
.....
....
....
print "Content-type: text/html\n\n$html";
In der Variable $html habe ich dann den Inhalt der Date inkl. dem SSI Aufruf.
Hi Christian
Na das habe ich mir fast gedacht...
Mein Problem ist, dass ich den Inhalt einer HTML Datei in eine Variable lesen muss, diese dann modifiziere (eben in dem CGI) und dann aus dem CGI wieder ausgebe.
Und wo ist das Problem jetzt? Wenn etwas nicht funktioniert, musst du schon sagen wo.
Ausserdem würde ich es, wenn möglich, vermeiden die Datei auf einmal einzulesen, das kostet Geschwindigkeit und Ram. Les die Datei lieber Zeilenweise ein, und ersetzte in jeder Zeile, was imer du ersetzen willst.
Grüße Andres Freund