Formulare, Session-Management, Suchfunktion

Web-Programmierung mit Perl und CGI

23.03.2001
MÜNCHEN (CW) - Das Buch spricht alle wichtigen Aspekte der Web-Entwicklung aus der Sicht des Perl-Programmierers an. Das Spektrum reicht von der Erläuterung des HTTP-Headers und des Common Gateway Interface über die Nutzung einschlägiger Perl-Module bis zur dynamischen Erzeugung von Grafiken und der Verarbeitung von XML-Dokumenten.

Perl dominiert wegen der zunehmenden Konkurrenz durch Java, PHP und andere Server-seitige Scriptsprachen die Web-Programmierung nicht mehr so stark wie in den Anfängen des WWW. Außerdem hat sich das Common Gateway Interface (CGI) den Ruf eingehandelt, nicht besonders leistungsfähig und skalierbar zu sein. Nichtsdestotrotz bilden diese beiden Techniken zusammen immer noch das Rückgrat zahlreicher Websites.

Neben der nach wie vor weiten Verbreitung von CGI-Programmen in Perl gibt es einen weiteren Grund, dieses Buch zu lesen: Am Beispiel dieser Basistechnologien erläutert es auf ausgezeichnete Weise die Funktionprinzipien der Web-Archiktektur. Ein solides Verständnis des Zusammenspiels von Browser, Web-Server und dahinter ablaufenden Programmen ist letztlich auch bei der Nutzung von ausgefeilteren Produkten wie Applikations-Servern von Vorteil. Hinzu kommt, dass sich die Autoren nicht bei jedem Problem auf eine Perl/CGI-Lösung kaprizieren. So beschreibt ein eigenes Kapitel die Nutzung von Server Side Includes (SSI) und erläutert, in welchen Fällen sie der Entwicklung von CGI-Programmen vorzuziehen sind. Außerdem zeigt ein weiterer Abschnitt zu Javascript, dass sich bestimmte Aufgaben, beispielsweise die Validierung von Benutzereingaben, besser auf dem Client erledigen lassen. Dies entlastet den Web-Server und reduziert die Wartezeit für den Anwender. Zu den nicht so auf Perl fixierten Kapiteln zählen die lehrreichen und gut lesbaren Ausführungen über das Hypertext Transfer Protocol (HTTP) und das CGI.

Der Großteil des Buchs widmet sich erwartungsgemäß den Kernthemen der Perl-Programmierung. Dabei bespricht es ausführlich die Nutzung der Module CGI.pm und HTML::Template sowie Embperl und HTML::Mason. Während Ersteres ein ganzes Paket an Funktionen umfasst, beispielsweise zur Auswertung von Formulardaten oder für Datei-Uploads, bieten die restlichen drei Verfahren zur Nutzung von HTML-Schablonen an.

Zu den gängigen Problemen der Web-Entwicklung gehört es, aus HTML-Formularen E-Mails zu verschicken, von Besuchern der Website eingegebene Daten zu speichern, den Zustand von Benutzerverbindungen zu verwalten oder Suchfunktionen anzubieten. Den genannten Aufgaben widmen die Autoren jeweils ein eigenes Kapitel, das die gängigen Verfahren gut verständlich darlegt. Zur Sprache kommen auch die unvermeidlichen Sicherheitsaspekte, wobei das Buch unter anderem auf den Taint-Modus von Perl oder den Schutz von Formularen durch Prüfsummen eingeht.

Den Abschluss des Bandes bilden einführende Bemerkungen zu XML und der Verwendung eines Parsers, die Erläuterung des Debuggings von CGI-Programmen sowie allgemeine Richtlinien für den Entwurf von Anwendungsarchitekturen im Web. Dort gehen die Autoren auch auf die populären CGI-Alternativen "mod_perl" und "FastCGI" ein.

Insgesamt kann das Buch mit Fug und Recht als Standardwerk für die Web-Programmierung in Perl angesehen werden. Es ergänzt dabei die im gleichen Verlag erschienenen Klassiker "Perl Kochbuch" und "Programmieren mit Perl". Dafür sprechen nicht nur die kompetenten und gut verständlichen Ausführungen, sondern auch die professionellen Codebeispiele.

Scott Guelich, Shishir Gundavaram, Gunther Birznieks: CGI-Programmierung mit Perl. Köln: O´Reilly 2001, 2. Auflage. 484 Seiten, 74 Mark.