Christoph Schnauß: Kann man Perl in Form von SSI direkt in HTML-Datei einbinden?

Beitrag lesen

hallo Sebastian,

kann ich eigentlich Perl-Befehle wie bedingte Anweisungen eigentlich direkt in Form von ServerSideIncludes, wie etwa bei PHP, in den HTML-Quelltext einbinden. Wenn ja wie?

Prinzipiell kannst du per SSI CGI-Scripts aufrufen. Das geht mit "ExecCGI"  -  und wenn dein CGI-Script ein Perl_script ist, wird es ausgeführt.

Eine weitere Möglichkeit gibt es mit "Perlscript"  -  du kannst PERL-Syntax ähnlich wie PHP-Code direkt in HTML schreiben. Allerdings muß dann der Server, bei dem deine Seite gehostet wird, ein paar Module vorhalten.
Konkret kann so eine HTML-Seite so aussehen:

<%@ LANGUAGE = PerlScript %>
<html>
<head>
<TITLE>PerlScript Willkommen</TITLE>
</head>
<BODY BGCOLOR=#FFFFFF>

<FONT SIZE=4>

<SCRIPT language="PerlScript" RUNAT=Server>

sub PrintWelcome {
 $window->document->write("<HR>  ");
 ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime();
 $thisday=(Sonntag,Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Sonnabend)[$wday];
 $thismon=(Januar,Februar,Maerz,April,Mai,Juni,Juli,August,September,Oktober,November,Dezember)[$mon];
 if ($hour < 10) {
  $window->document->write( "Guten Morgen!  ");
 } elsif ($hour < 18) {
  $window->document->write( "Guten Tag :-)  ");
 } else {
  $window->document->write( "Guten Abend!  ");
 };
 $time = sprintf '%d:%2.2d:%2.2d',$hour,$min,$sec;
 $year += 1900;
 $datetime = $time.' Uhr am '.$thisday.', '.$mday.'. '.$thismon.' '.$year;
 $window->document->write("<BR>  ");
 $window->document->write("Willkommen in der PerlScript-Welt.<BR>  ");
 $window->document->write("<BR>  ");
 $window->document->write("Falls du grade keine Uhr zur Hand hast, es ist jetzt<BR> ");
 $window->document->write($datetime);
 $window->document->write("<HR>  ");
}

PrintWelcome();

</SCRIPT>
</font>
<p><font face="Arial" size="2">dieses script ist darauf angewiesen, daß der Rechner, auf dem es laufen soll, perl installiert hat</font></p>
</BODY>
</HTML>

Das Ganze kann unter der Bezeichnung "EmbPerl" auch in diversen Dokumentationen gefunden werden.

Grüße

Christoph S.