Perl ist vermutlich die populärste Sprache für WWW-Anwendungen. Es wird serverseitig für die Erzeugung von dynamischen HTML-Inhalten benutzt, ist einfach zu programmieren und auf vielen Rechnerplattformen verfügbar.
In aktuellen Versionen von Perl ist das CGI-Modul bereits standardmäßig enthalten und muß nicht mehr installiert werden. Das einfachste CGI-Programm unter Perl, das vollständigen HTML-Code erzeugt, sieht so aus:
#!/usr/bin/perl use CGI; # Einbinden des CGI-Moduls $query = new CGI; # Definieren eines CGI-Objekts print $query->header; # HTML-Header erzeugen print $query->start_html('Titel'); # HTML-Titel erzeugen print q{ HTML-Text }; # HTML-Text ausgeben print $query->end_html; # HTML-Footer erzeugen
Dieses Beispiel zeigt die objektorientierte Programmierschnittstelle des
CGI-Moduls; in gleicher Weise wie die Methoden start_html()
und
end_html()
werden auch Methoden für Formulare bereitgestellt.
Die extrem detaillierte manpage CGI.3
gibt hierzu umfassende Auskunft.
CGI-Programme kann man auch am Kommandoprompt testen, ohne daß ein
http-Server läuft. Wenn man das obige Programm ausführt, wird der folgende
Text in die Standardausgabe ausgegeben:
$ chmod 755 CGI.cgi $ ./CGI.cgi (offline mode: enter name=value pairs on standard input) Content-Type: text/html <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> <HTML><HEAD><TITLE>Titel</TITLE> </HEAD><BODY> HTML-Text </BODY></HTML>
Für die Kürzel DBI und DBD gibt es mindestens zwei Auslegungen: DBI steht für Data Base Interface oder Data Base Independent, wohingegen DBD für Data Base Driver oder Data Base Dependent steht. Beide Auflösungen treffen den Kern der Sache: Mit DBI steht Perl eine generalisierte Schnittstelle zu Datenbanken zur Verfügung, die unabhängig von der verwendeten Datenbank immer gleiche generische Befehle bereitstellt, während die Umsetzung dieser Befehle auf ein konkretes Datenbankmodell im Modul DBD erfolgt, das nach dem Datenbankhersteller benannt wird, nach dessen Spezifikation die Schnittstelle ausgelegt ist.
Der Installationsprozeß aller erforderlichen Datenbankmodule setzt eine Reihe von Paketen voraus, die man sich eventuell vom zentralen Archiv CPAN besorgen muß:
Bevor diese Pakete installiert werden, muß auf jeden Fall mindestens ein Datenbankserver gestartet werden. Die Perl-Pakete werden dann immer nach dem gleichen Schema installiert:
tar xvfz
archiv.tar.gz
Das Archiv kann an jedem beliebigen Punkt im Verzeichnis
entpackt werden; /usr/local/src/
ist eine gute
Wahl.
README
lesen;perl Makefile.PL
aufrufen;make
make test
make install
Wenn alles funktioniert, kann das ausgepackte Archiv gelöscht werden, es wird für die weitere Arbeit nicht mehr benötigt.
Es wird darauf hingewiesen, daß die richtige Reihenfolge, in der die Pakete installiert werden, für das Gelingen der Installation entscheidend ist!
Das folgende Beispiel gibt eine Liste aller auf localhost
verfügbaren
Datenbanken aus:
#!/usr/bin/perl -w use DBI; # Einbinden des DBI-Moduls my $driver = DBI->install_driver('mysql'); # Treiber installieren my @dbases = $driver->func('localhost','_ListDBs'); # Datenbanken identifizieren foreach $db (@dbases) {print "- $db -\n"}; # Liste ausgeben # $dbh->disconnect; # Abmelden von der Datenbank
Eine bestimmte Datenbank kann mit der connect
-Methode geöffnet
werden:
#!/usr/bin/perl -w use DBI; # Einbinden des DBI-Moduls # Verbinden mit der $dbh = DBI->connect("DBI:mysql:Kurs", # Datenbank 'Kurs' undef, # User nicht definiert undef, # Passwort nicht definiert {RaiseError => 1, # Fehlerbehandlungs- AutoCommit => 0}); # parameter $dbh->disconnect; # Abmelden von der Datenbank