Platzhalter

 
Platzhalter PlatzhalterPlatzhalter

Layout-Wrapper mit Perl

Platzhalter
 
  Startseite
  eBook-Projekt
  Web-Lexikon
  Bücher bestellen
   
  Design-Theorie
  Design-Praxis
  Promotion
  HTML/XML-Praxis
  Projekt-Management
  Webmaster-Praxis
  Fragen & Antworten
  Technik-Ecke
   
  Portal/Links
  Buch-Rezensionen
  Software
  Impressum
PlatzhalterPlatzhalter







 

Platzhalter In manchen Situationen ist es notwendig, die Ausgaben eines Scripts zu modifizieren. Zum Beispiel dann, wenn Sie ein Such-Script haben und die Ausgaben in Ihr eigenes Layout pressen wollen. Eine Modifikation des Such-Scripts selbst kann aber recht aufwändig sein. Wenn es dagegen möglich wäre, erst das Original-Script auszuführen und dann die Ausgaben zu modifizieren, wäre das in vielen Situationen eine Erleichterung.

#!/usr/bin/perl
use CGI::Carp qw(fatalsToBrowser);

if($ENV{'REQUEST_METHOD'} eq 'GET')
{
$Daten = $ENV{'QUERY_STRING'};
}
else
{
read(STDIN, $Daten, $ENV{'CONTENT_LENGTH'});
}

print "Content-type: text/html\n\n";

print "Vor dem Script-Output";
# Hier z.B. Ausgabe eines Layouts

$ENV{'REQUEST_METHOD'} = 'GET';
$ENV{'QUERY_STRING'} = $Daten;

my $output = `perl original.pl`;

$output =~ s#Content-type: text/html##;

print $output;

print "Nach dem Script-Output";
# Hier z.B. weitere Ausgaben, z.B. Fußzeile


Wie funktioniert dieses Script? Das Script (Wrapper-Script) wird gestartet, anstelle des Original-Scripts. Innerhalb des Scripts wird dann das Original-Script ausgeführt, zum Glück aber mit den gleichen Dateihandles und Umgebungsvariablen wie das erste Script. Die Ausgaben werden eingesammelt, modifiziert und mit zusätzlichen Angaben ergänzt.

Dabei sollten folgende Voraussetzungen erfüllt sein: Wrapper- und Original-Script müssen beide ausführbar sein, sowohl von den Dateirechen her als auch von der Syntax. Weiterhin sollten beide Scripts im selben Verzeichnis liegen. 'perl' muss sich im Standard-Suchpfad befinden. Wenn dem nicht so ist, so muss die Ausführungs-Zeile im Wrapper um den vollständigen Pfad zu Perl ergänzt werden.

Besonders gut funktioniert das, wenn Sie dem Wrapper-Script den Dateinamen des ursprünglichen Scripts geben. Dann wird auch das Wrapper-Script aufgerufen, wenn das Original-Script sich eigentlich selbst aufrufen will.

Funktioniert solch ein Wrapper immer? Nein, anscheinend leider nicht. Bei unseren Tests hatten wir gute Ergebnisse, so z.B. mit dem Such-Script, das wir auf AWD einsetzen. Probleme gab es nur bei der Ausführung des Admin-Modus: Unsere Konfiguration sah vor, den Wrapper unter "search.pl" und das Original-Script unter "r_search.pl" in das entsprechende Verzeichnis zu legen. Bei einem Aufruf von search.pl mit Argumenten für den Admin-Modus gab das Script jedoch nur die Standard-Hilfeseite zurück. Abhilfe schaffte ein direkter Aufruf von r_search.pl vom Browser aus.


Autor: Alexander Dilthey | Erstmalig veröffentlicht: 11.11.2001 | Einen Artikel schreiben?

 

Neue Artikel

Rezension: Entwurfsmuster von Kopf bis Fuß
Rezension: Webdesign mit CSS
AJAX - XML und JavaScript in Schönheit vereint?
Rich Email - Flash im Newsletter
Screen Reader Usability
Comment Spam und CAPTCHAs
Logfile-Analyse selbst gemacht - ein Perl-Beispiel

Partnerprogramm




Kommentar

Ist die Freiheit der Informationsgesellschaft in Gefahr?
Derzeit leben wir in einer relativ freien Welt. Doch sind derzeit Tendenzen erkennbar, die Freiheit des Individuums den Interessen der Großindustrie zu opfern. Ein Kommentar.

Druckversion
Sie wollen diese Seite ausdrucken? Dafür haben wir eine spezielle Druckversion ohne grafische Elemente entwickelt!



Einführung in CSS bei HTMLWorld.