SabineP: shtml-Datei öffnen mit Perl

Hallo Forum,

ich möchte mit Perl eine shtml-Datei zum Lesen öffnen.
Die betreffende shtml-Datei enthält soetwas

<!--#include virtual="menu.txt" -->

Das Problem ist, daß Perl die shtml-Datei so öffnen soll
wie sie der Browser bekommt.
Perl soll also den HTML-Code der durch den SSI-Parser des
Apache entsteht weiterverarbeiten.

Momentan versuche ich das mit LWP::Simple zu lösen.

Gibt es noch einen anderen Weg?

Gruß Sabine

  1. Halihallo SabineP

    Das Problem ist, daß Perl die shtml-Datei so öffnen soll
    wie sie der Browser bekommt.

    Nun, dann emulieren einen Browser. Dein Ansatz mit LWP::Simple ist gut.

    Momentan versuche ich das mit LWP::Simple zu lösen.
    Gibt es noch einen anderen Weg?

    Ja, perldoc lwpcook, IO::Socket::INET oder einen eigenen SSI-Parser schreiben.

    Viele Grüsse

    Philipp

    --
    RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
    Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
    1. Hallo Philipp und Michael,

      vielen Dank für Eure Hinweise.
      Bin bei LWP::Simple geblieben und es klappt wunderbar.

      Grüße von Sabine

  2. Hi Sabine,

    Die betreffende shtml-Datei enthält soetwas
    <!--#include virtual="menu.txt" -->
    Das Problem ist, daß Perl die shtml-Datei so öffnen soll
    wie sie der Browser bekommt.
    Momentan versuche ich das mit LWP::Simple zu lösen.

    ich mache das genauso.

    Meine mod_gzip-Seiten sind im "Quelltext" SSI-Seiten, aber ich lasse ein Perl-Skript das entsprechende Verzeichnis analysieren und mit LWP::Simple::getstore() über die entsprechend ergänzten URLs laufen, um eine statische (und dann effizienter cache- und komprimierbare) Version dieser Ressourcen herzustellen, welche dann tatsächlich auf meiner Domain erscheint.

    Etwas Komplexeres als LWP::Simple brauchst Du m. E. nur, wenn Dir entweder HTTP-GET nicht reicht (POST-Formulare etc.) oder Du explizit HTTP-Header (Cookies, Authentication) mitsenden mußt, um auf die SSI-Seiten zugreifen zu dürfen. LWP::UserAgent wäre dafür dann die nächst mächtigere Schicht.

    Viele Grüße
          Michael

    --
    T'Pol: I apologize if I acted inappropriately.
    V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
    (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
     => http://www.peter.in-berlin.de/projekte/selfcode/?code=sh%3A|+fo%3A}+ch%3A]+rl%3A(+br%3A^+n4%3A(+ie%3A%25+mo%3A)+va%3A|+de%3A%2F+zu%3A|+fl%3A(+ss%3A)+ls%3A~+js%3A|
    Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.