Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
IT PROFESSIONAL<br />
PROGRAMMIERUNG 115<br />
my $CTIME_String = localtime(time);<br />
my $altCookie = $cgi->cookie(-name=>‘letzter_Besuch‘);<br />
my $neuCookie = $cgi->cookie(-name=>‘letzter_Besuch‘,<br />
-value=>$CTIME_String,<br />
-expires=>‘+3M‘,<br />
-path=>‘/‘);<br />
print $cgi->header(-cookie=>$neuCookie),<br />
$cgi->start_html(„Cookie-Test“),<br />
$cgi->p(„Sie waren zuletzt angemeldet am: „,<br />
$altCookie || ‚unbekannt‘),<br />
$cgi->p(„Neuer Besuchszeitpunkt: „, $CTIME_<br />
String),<br />
Tipp 4<br />
Umgebungsdaten auslesen<br />
■ Manchmal ist es wichtig, zur weiteren Verarbeitung <strong>Info</strong>rmationen<br />
über den Server oder den benutzten Browser zu erhalten.<br />
Im folgenden Beispiel fragt das Script diese Daten ab und gibt sie in<br />
einer HTML-Tabelle aus. Die Daten werden bei dieser Variante nicht<br />
gespeichert, sondern dem Nutzer zur Verfügung gestellt.<br />
#!/usr/bin/perl<br />
use strict;<br />
use CGI;<br />
use CGI::Carp qw(fatalsToBrowser);<br />
my $cgi = new CGI;<br />
print $cgi->header(),<br />
$cgi->start_html(‚Daten‘),<br />
$cgi->start_table({-border => ‚1‘}),<br />
$cgi->Tr($cgi->th({-align => ‚right‘},‘Script-<br />
URI:‘),<br />
$cgi->td($cgi->url(-full => 1))),<br />
$cgi->Tr($cgi->th({-align => ‚right‘},‘relative<br />
Script-URI:‘),<br />
$cgi->td($cgi->url(-relative => 1))),<br />
$cgi->Tr($cgi->th({-align => ‚right‘},‘Server-<br />
Software:‘),<br />
$cgi->td($cgi->server_software())),<br />
$cgi->Tr($cgi->th({-align => ‚right‘},‘Browser-<br />
Software:‘),<br />
$cgi->td($cgi->user_agent())),<br />
$cgi->end_table(),<br />
$cgi->end_html();<br />
Tipp 5<br />
Datum ermitteln und ausgeben<br />
■ Mit Hilfe des Unix-Befehls date können Sie das aktuelle Datum<br />
auslesen, das vom Webserver übergeben wird. Anschließend geben<br />
Sie über das CGI-Script die ermittelten Daten in HTML aus und können<br />
diese Angaben in Ihre Webseite einbinden.<br />
Das CGI-Programm in Pearl:<br />
#!/usr/bin/perl<br />
$date_command = „/bin/date“;<br />
$date = `$date_command +“%d.%m.%Y“`; chop ($date);<br />
print „Content-type: text/html\n\n“;<br />
print „Das heutige Datum ist der $date „;<br />
print „Vielen Dank für Ihren Besuch!\n“;<br />
Tipp 6<br />
Besucherzähler<br />
Dieses CGI-Script speichert den aktuellen Besucher-Stand in der<br />
Datei counter.log. Bei jedem neuen Aufruf wird daraus der aktuelle<br />
Wert ausgelesen, weitergezählt und erneut gespeichert.<br />
Die Programmierung in Pearl:<br />
#!/usr/bin/perl<br />
$count_file = „/counter.log“;<br />
open (FILE,$count_file);<br />
$counter = ;<br />
$counter++;<br />
close (FILE);<br />
print „Content-type: text/html\n\n“;<br />
print „Besucher Nummer $counter!\n“;<br />
open (FILE,“>$count_file“);<br />
print FILE $counter;<br />
close (FILE);<br />
Tipp 7<br />
Zufallsgenerator<br />
Das Script generiert bei jedem Aufruf einen Zufallswert und verknüpft<br />
diesen mit Dateien im angegebenen Verzeichnis. Statt mit<br />
Bildern können Sie auch mit Musik oder Videos arbeiten. Passen<br />
Sie hierzu die Angabe $type in unserem Pearl-Script an. Die Zahl der<br />
Dateien lässt sich ebenfalls unter $num beliebig anpassen.<br />
#!/usr/bin/perl<br />
$basedir = „/home“;<br />
$dir = „$basedir/random_images“;<br />
$name = „gfx“;<br />
$num = 3;<br />
$type = „image/jpg“;<br />
srand(time|$$);<br />
$nr = int(rand($num)+1);<br />
$file = „$dir/$name$nr.jpg“;<br />
open(INF,$file) || die „Can‘t open $file: $!\n“;<br />
print „Content-type: $type\n\n“;<br />
while() { print }<br />
pk<br />
Der Zufall bestimmt, wie die Hintergrundgrafik aussieht: Überraschen Sie Besucher Ihrer Webseite mit immer neuen Impressionen – unabhängig von<br />
unterschiedlichen Browser-Einstellungen.<br />
www.pc-magazin.de <strong>PC</strong> <strong>Magazin</strong> 10/2012