Effiziente Website-Erstellung mit CGI

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.

Page: 1 2 3 4 5

ZDNet.de Redaktion

Recent Posts

Wie ein Unternehmen, das Sie noch nicht kennen, eine Revolution in der Cloud-Speicherung anführt

Cubbit ist das weltweit erste Unternehmen, das Cloud-Objektspeicher anbietet. Es wurde 2016 gegründet und bedient…

4 Tagen ago

Dirty Stream: Microsoft entdeckt neuartige Angriffe auf Android-Apps

Unbefugte können Schadcode einschleusen und ausführen. Auslöser ist eine fehlerhafte Implementierung einer Android-Funktion.

4 Tagen ago

Apple meldet Umsatz- und Gewinnrückgang im zweiten Fiskalquartal

iPhones und iPads belasten das Ergebnis. Außerdem schwächelt Apple im gesamten asiatischen Raum inklusive China…

4 Tagen ago

MadMxShell: Hacker verbreiten neue Backdoor per Malvertising

Die Anzeigen richten sich an IT-Teams und Administratoren. Ziel ist der Zugriff auf IT-Systeme.

4 Tagen ago

April-Patches für Windows legen VPN-Verbindungen lahm

Betroffen sind Windows 10 und Windows 11. Laut Microsoft treten unter Umständen VPN-Verbindungsfehler auf. Eine…

4 Tagen ago

AMD steigert Umsatz und Gewinn im ersten Quartal

Server-CPUs und Server-GPUs legen deutlich zu. Das Gaming-Segment schwächelt indes.

5 Tagen ago