Templates
Eine etwas sauberere Lösung ist es, HTML-Vorlagen (Templates) zu verwenden. Dadurch bleibt das HTML in einer separaten Datei, enthält aber Zusatzinformationen, meist in Form von speziellen XML-Tags. Die HTML-Datei wird vom CGI-Programm gelesen, und sobald das Programm auf diese speziellen Tags stößt, werden sie dynamisch durch den jeweiligen Content ersetzt. Diesen Ansatz verfolgt auch das HTML::Template-Modul, das im Perl-Archiv CPAN (Comprehensive Perl Archive Network) zu finden ist. Der folgende Code-Ausschnitt zeigt ein Beispiel für eine solche HTML-Vorlage:
<HTML><BODY> This car is <TMPL_VAR NAME="COLOR">. </BODY></HTML>
Und hier der Perl-Code, der dies verarbeitet:
#!/usr/bin/perl -w use HTML::Template; my $template = HTML::Template->new(filename=>"temp.html"); template->param(COLOR=> "red"); print template->output;
Der Wert der Template-Variablen COLOR („red“) ersetzt den Tag <TMPL_VAR>. Templates stellen eine sauberere Lösung dar als HERE-Dokumente, da Programmcode und Daten in jeweils eigenen Dateien getrennt voneinander bleiben. Für weitere Informationen über dieses Modul sollten Sie die HTML::Template-Manpage lesen. Viele serverseitige Technologien – von SSI bis ASP – verwenden eine Template-Strategie.
CGI.pm
Eine der ersten CGI-Lösungen war das berühmt-berüchtigte CGI.pm. Dieses Modul behandelt HTML-Tags als Code: für jeden HTML-Tag gibt es eine entsprechende Perl-Subroutine. So kann man den HTML-Code festlegen, ohne die normale Perl-Syntax zu verlassen. CGI.pm ist das Gegenteil von HERE-Dokumenten, denn hier besteht alles aus Perl-Code. Eine Beispiel-Seite mit CGI.pm könnte so aussehen:
#!/usr/bin/perl -w use CGI ":standard"; my $q = new CGI; print $q->start_html, "This car is red", $q->end_html;
Über diese Module gäbe es natürlich noch viel mehr zu erzählen, aber wir wollen uns ja nur einen Überblick für die folgenden Tests verschaffen.
Mit 1,7 Exaflops ist El Capitan nun der dritte Exascale-Supercomputer weltweit. Deutschland stellt erneut den…
Der deutsche Hyperscaler erweitert sein Server-Portfolio um vier Angebote mit den neuen AMD EPYC 4004…
Beim Online-Gaming kommt es nicht nur auf das eigene Können an. Auch die technischen Voraussetzungen…
Fast jedes zweite Unternehmen bietet keinerlei Schulungen an. In den übrigen Betrieben profitieren oft nur…
Huawei stellt auf der Connect Europe 2024 in Paris mit Xinghe Intelligent Network eine erweiterte…
Höchste Zeit für eine schnelle Kupfer-Glas-Migration. Bis 2030 soll in Deutschland Glasfaser flächendeckend ausgerollt sein.