=pod
=head1 NAME
HTML::Embperl - einbetten von Perlcode in HTML Dokumente
=head1 SYNOPSIS
I ist ein Perlmodul welches es erlaubt beliebigen Perlcode in HTML Dokumente einzufügen.
=head1 Aufrufen/Konfigurieren von Embperl
=head2 mod_perl Konfiguration
Um I als content handler unter I
laufen zu lassen, sind folgende Zeilen in der Apache Konfigurationsdatei F nötig:
Beipiel für Apache B:
SetEnv EMBPERL_DEBUG 2285
SetHandler perl-script
PerlHandler HTML::Embperl
Options ExecCGI
Diese Konfiguration bewirkt, dass I I für
alle Dateien, die im Unterverzeichnis, das mittels der URI /embperl/x
angesprochen wird, liegen, als content handler aufruft. I
kann dann die Datei entsprechend bearbeiten und das Ergebnis zum Browser
schicken.
Eine andere Möglichkeit ist, alle Dateien mit einer bestimmten Endung
von Embperl bearbeiten zu lassen. Eine Konfiguration dafür würde wie folgt
aussehen:
SetEnv EMBPERL_DEBUG 2285
SetHandler perl-script
PerlHandler HTML::Embperl
Options ExecCGI
AddType text/html .epl
B: Wenn I mit C übersetzt ist, darf I B
beim Starten des Server geladen werden!
=head2 Andere Arten Embperl zu nutzen
Embperl kann ebenso von der Befehlszeile aus aufgerufen werden oder
als normales CGI Skript ausgeführt werden. Weiterhin können
andere Perlprogramme oder -module es direkt aufrufen.
Der Aufruf von der Befehlszeile sieht folgendermaßen aus (erste Zeile Unix, zweite Zeile Windows):
C
C
=over 4
=item B
Datei welche von Embperl bearbeitet werden soll.
=item B
Optional. Hat die selbe Bedeutung wie die Umgebungsvariable
B eines CGI Skripts. B beinhaltet alles
nach dem ersten "?" in der URL. B sollte URL kodiert sein.
Default ist kein query_string.
=item B<-o outputfile>
Optional. Gibt den Dateinamen an, in den das Ergebnis geschrieben wird.
Default ist die Standardausgabe.
=item B<-l logfile>
Optional. Name der Logdatei. Default ist C.
=item B<-d debugflags>
Optional. Gibt an, welche Debuginformationen in die Logdatei
geschrieben werden. (siehe L<"EMBPERL_DEBUG"> für mögliche Werte)
=back
Um I als B zu nutzen, müssen Sie die Datei
C (bzw. C unter Windows) in Ihr CGI
Verzeichnis kopieren (oft C). Zum Aufrufen verwenden Sie
die URL
http://www.domain.de/cgi-bin/embpcgi.pl/uri/ihres/embperl/dokuments
Die extra Pfadinformationen die C übergeben werden, geben
dabei den Ort des Embperl Dokuments an.
Unter Apache kann C auch als Handler definiert werden:
Action text/html /cgi-bin/embperl/embpcgi.pl
B Die Datei embpexec.pl darf aus Sicherheitsgründen nicht mehr als
CGI Skript genutzt werden!
B: Um die Sicherheit von CGI Skripten sicher zustellen, empfiehlt es sich
mittels L den Zugriff zu beschränken.
=head2 Embperl aus Embperl Dokumenten oder anderen Perl Programmen/Modulen aufrufen
Die Funktion C kann genutzt werden, um I aus anderen
Perlmodulen oder -programmen aufzurufen. Ebenso ist es möglich andere
Dokumente (z.B. Kopf- oder Fußzeilen) in Embperlseiten einzufügen.
Die Kurzform müssen lediglich Dateinamen und ggf. Parameter für das
aufzurufende Dokument als Argumente angegeben werden:
Execute ($filename, @params) ;
Die Langform erwartet eine Referenz auf einen Hash als Argument:
Execute (\%params) ;
Die Kurzform entspricht folgendem Aufruf in der Langform:
Execute ({inputfile => $filename,
param => \@params}) ;
Parameter für die Langform sind:
=over 4
=item B
Mittels C wird die Datei angegeben, die
von I bearbeitet werden soll. Ist der Parameter C
ebenso vorhanden, sollte C einen eindeutigen Namen
spezifizieren. Jedesmal wenn I den selben Namen sieht, geht es davon
aus, daß die Quelle die selbe ist und verwendet den selben Packagenamen,
sowie compiliert die Perlteile nur wenn C sich ändert oder
undefiniert ist.
=item B
Ruft die durch diesen Parameter angegebene Funktion auf (siehe auch [$ B<"sub"> $]).
Momentan muß
die Funktion entweder in der selben Embperldatei definiert sein oder
die Embperldatei muß vorher importiert worden sein.
=item B
Referenz auf einen Skalar, welcher den Quellentext enthält. B
sollte ebenso angegeben werden, um die Quelle zu benennen. Der Name
kann dabei beliebiger Text sein.
=item B
Zeitpunkt der letzten Änderung des Quellentextes. Der Quellentext
wird nur dann neu übersetzt, wenn sich B ändert oder wenn
B C ist.
=item B
Datei, in die die Ausgabe geschrieben wird. Ist keine Datei angegeben,
wird die Standardausgabe benutzt.
=item B