Perl CGI (CGI.pm)
Die CGI.pm Perl-Bibliothek stellt Funktionen bzw. Methoden zur Verfügung, die den Bereich CGI-Programmierung, Formularerzeugung und -auswertung und HTML-Quellcode-Erzeugung abdecken.Die Programmierung mit CGI.pm kann objektorientiert oder funktionenorientiert erfolgen.
-
Im objektorientierten Stil
wird CGI.pm mit
use CGI;
eingebunden. Sie erzeugen ein oder mehrere CGI-Objekte und erstellen Ihre Webseite mit vordefinierten Objektmethoden (z.B start_html). Die CGI-Objekte beinhalten die gesamten Funktionen des Moduls als Methoden.#!/usr/bin/perl use CGI; # load CGI module $q = new CGI; # create new CGI # object print $q->header(-type=>'text/html'), # HTTP header $q->start_html(-title=>'hello world', # start the HTML -bgcolor=>'blue'), $q->h1('hello world'), # level 1 header $q->end_html; # end the HTML
-
Im funktionenorientierten Stil müssen die einzelnen
Funktionen mit der use-Anweisung in den Namensraum Ihres Skriptes
importiert werden.
Die Liste der importierbaren Funktionsgruppen
finden Sie im Manual (Literaturangaben s.u.).
#!/usr/bin/perl use CGI qw/:standard/; # load standard CGI functions print header(-type=>'text/html'), # create the HTTP header start_html(-title=>'hello world', # start the HTML -bgcolor=>'blue'), h1('hello world'), # level 1 header end_html; # end the HTML
-
Das obige Beispiel ist auch ohne CGI.pm möglich.
Der HTML-Code kann direkt mit der print-Anweisungen
ausgegeben werden:
#!/usr/bin/perl print "Content-type: text/html\n\n"; # create the HTTP header print "<HTML>\n"; # start the HTML print "<HEAD><TITLE>hello world</TITLE>\n"; print "</HEAD>\n"; print "<BODY -bgcolor=\"blue\">\n"; print "<H1>hello world</H1>\n"; # level 1 header print "</BODY>\n"; print "</HTML>\n"; # end the HTML
oder "hello world"-Beispiel 4:
#!/usr/bin/perl print << "EndeMarke" Content-type: text/html\n\n <HTML> <HEAD><TITLE>hello world</TITLE> </HEAD> <BODY -bgcolor="blue"> <H1>hello world</H1> </BODY> </HTML> EndeMarke
Auf die Syntax der einzelnen Funktionen zur Erzeugung von HTML-Code (wie z.B. header, start_html, end_html, ...) soll in dieser Einführung nicht eingegangen werden. Ich verweise dazu auf die weiter unten angegebenen Manuals.
Themen dieses Tutorials sind:
Literatur:
- CGI.pm - a Perl5 CGI Library
- CGI.pm (deutsch)