Allgemeines
CGI Programme können im Prinzip in jeder Programmiersprache geschrieben werden, die in der Lage ist, Eingaben zu akzeptieren und weiterzuverarbeiten und Ergebnisse nach StandardOut auszugeben. Was spricht für Perl?
- Der Perl-Interpreter ist auf dem CGI-Server installiert.
- Perl ist sehr weit verbreitet - Sie finden im Netz viele Beispiele
- Perl ist plattformunabhängig.
- Für Perl gibt es fertige Module und Bibliotheken, die speziell für CGI Anwendungen geschrieben sind und dem Programmierer das Leben deutlich erleichtern.
Nützliche Perl-Links:
-
Perl Homepage
-
Perl Documentation
-
Einführung in Perl
-
Perl Tutorial
-
Perl-Tutorials (WDVL)
-
CGI/Perl (selfhtml)
-
CGI.pm - a Perl5 CGI Library
-
Programmieren mit Perl-Modulen - Manpages ausgewählter Perl-Module
-
The WWW Virtual Library
Da jede Einführung im EDV-Umfeld mit einem "Hello World"-Beispiel beginnt, darf dieses Beispiel auch hier nicht fehlen. Am "Hello World"-Beispiel wird der prinzipielle Aufbau eines Perl-CGI-Skriptes erläutert. Nachfolgend der Quelltext:
- #!/usr/bin/perl
- # Beispiel: Hello World
- use CGI qw/:standard/;
- use CGI::Carp qw/fatalsToBrowser/;
- $CGI::DISABLE_UPLOADS = 1; # disable uploads
- $CGI::POST_MAX=1024*500; # max 0.5 MB
- print "Content-type: text/html\n\n";
- print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n";
- print "<html>\n";
- print "<head><title>Hello</title></head>\n";
- print "<body bgcolor=\"blue\">\n";
- print "<hr><center>\n";
- print "<h1>Hello World!</h1>\n";
- print "</center><hr>\n";
- print "</body></html>\n";
Erläuterungen dazu:
1. Zeile | Angabe des Interpreters /usr/bin/perl |
2. Zeile | Kommentar |
4. - 7. Zeile | CGI.pm und Carp.pm (liegt in einem Unterverzeichnis von "CGI") laden. Diese Zeilen sind nicht notwendig, aber sehr nützlich. Mehr dazu im Kapitel CGI.pm |
9. Zeile | HTTP Header (incl. Leerzeile) ausgeben. Die Leerzeile ist notwendig. |
ab Zeile 10 | HTML-Anweisungen ausgeben. |
Auf dem CGI-Server sind die CGI-Bibliotheken in Perl integriert. Information dazu:
- CGI :
Simple Common Gateway Interface Class
- CGI.pm :
CGI.pm - a Perl5 CGI Library
- CGI::Carp :
CGI routines for writing to the HTTPD (or other) error log
- CGI::Cookie :
Interface to Netscape Cookies
- CGI::Fast :
CGI Interface for Fast CGI
- CGI::Push :
Simple Interface to Server Push
Weiterhin sind verfügbar:
Bevor Sie Sie Ihr erstes CGI-Script schreiben, sollten Sie zunächst die Informationen zur Nutzung des CGI-Servers durchlesen.