Stefan Bion: CGI-Script liefert SHTML-Seite zurück

Beitrag lesen

Hi Michael,

Also wird mir wohl nur die Möglichkeit bleiben, die include-
Anweisungen irgendwie in Perl "nachzubauen"...

das ist aber erstens sehr einfach (auch nur ca. 10 Zeilen) und zweitens
sogar performanter als das, was Du bisher tust.

Naja, die reine include-Sache hatte ich in 4 Zeilen hinbekommen, mußte das Ganze allerdings noch ein wenig erweitern, da ich zuvor nicht bedacht hatte, daß ja das Script im cgi-Unterverzeichnis läuft und somit die relativen Links und die Grafikreferenzen in den inkludierten Dateien nicht mehr stimmen. Herausgekommen ist dann sowas, das ganz gut funktioniert:

sub IncludeFile
{
  my $FileName = shift;
  open(DATEI,"$FileName");
  my @Zeilen = <DATEI>;
  close(DATEI);
  foreach $Zeile (@Zeilen)
  {
    $Zeile =~ s/background="([^:?]+?)"/background="/$1"/g;
    $Zeile =~ s/img src="([^:?]+?)"/img src="/$1"/g;
    $Zeile =~ s/a href="([^:?]+?)"/a href="/$1"/g;
    print "$Zeile";
  }
}

Das könnte man eventuell noch optimieren (bin kein Perl-Experte), aber für meinen Zweck genügt es erst mal...

Viele Grüße,
Stefan