Werbung einblenden Werbung ausblenden


Home / Tutorials / Perl Handbuch / Perl aufrufen

Perl Skripte kann man im CGI Umfeld auf sieben verschiedene Art und Weisen aufrufen.

1) Als normalen Hyperlink, an den auch Parameter angefügt werden können. http://www.meine_domain.de/cgi-bin/mein_skript.pl?name1=value1&name2=value2
2) Der typische Fall, als Aufruf über ein Formular nach dem Schema
<form action=http://www.meine_domain.de/cgi-bin/mein_script.pl>
3) Aus einem Image Tag heraus, wenn der Perl Skript ein Bild produziert, siehe Bildbearbeitung mit dem GD Modul
4) Über server side includes, siehe unten
5) Über javascript nach dem Schema
location.href=http://www.meine_domain.de/cgi-bin/mein_skript.pl?name1=value1&name2=value2
6) Indirekt über JavaScript, wenn die Funktion submit von Javascript ausgelöst wird.
7) Über einen Meta Tag nach dem Schema
<meta http-equiv="refresh" content="1; URL=http://www.meine_domain.de/cgi-bin/mein_skript.pl>

Fall 1)

ist im Prinzig einfach zu verstehen, allerdings muss der Aufbau des Query Strings, siehe Perl Routine zum Auslesen des QUERY_STRING hierfür klar sein. Für den Perl Skript selber ist es völlig unerheblich, ob es der Browser ist, der den Query String zusammenbaut, wie das beim Versenden von Daten über ein Formular der Fall ist, oder der Query String "mit der Hand " zusammengebaut wird.
Von daher gibt es zu diesem Thema auch nicht viel zu sagen. Wer wenig Erfahrung hat mit der Internetprogrammierung fragt sich jetzt natürlich, wann sich dieses Problem stellt. Es stellt sich ziemlich häufig, eigentlich dauernd. Es stellt sich zum Beispiel dann, wenn man innerhalb eines Skriptes bestimmte Bereiche ansteuern will, und dieses Ansteuern über Variablen realisiert wird. Dann muss man diese Variable aber übergeben. Man will also keine Werte übergeben, die der User eingibt, sondern Werte, die von dem Programm verlangt werden.

Fall 2)

wurde bereits ausführlich diskutiert, siehe Formulareingaben auswerten, Das Cgi.pm Modul und
mails verschicken.

Fall 3)

Auch Fall drei wurde bereits diskutiert, siehe Bildbearbeitung mit dem GD Modul.

Fall 5)

Die Fälle, wo man sowas machen will, sind eigentlich Legion. Ein nicht so spektakulärer Fall, weil sich dieser Fall genauso gut durch einen entsprechenden Meta Tag realisieren liese (Fall 7) , ist wenn index.htm vom Server als default augerufen wird, man gleich zu Beginn aber dynamische Elemente braucht, etwa
weil man einen Seitenzähler realisieren will, was ja nur durch ein Skript realisierbar ist. Man kann dann folgendes tun.

<html><head><title>Weiterleitung</title></head>
<script language=JavaScript>
function weiter()
{
location.href="http://www.meine_domain.de/cgi-bin/mein_skript.pl?name1=value1&name2=value2";
}
</script>
<body onload=weiter()>
hi
</body></html>

Fall 6)

taucht z.B. dann auf, wenn die Prüfung der Usereingaben in ein Formular clientseitig und nicht serverseitig erfolgen soll. Es macht wenig Sinn, die Daten clientseitig mit JavaScript zu überprüfen, die eventuell unvollständigen Daten dann aber trotzdem zu verschicken. Folglich muss in dieser Konstellation,das
verschicken der Daten von deren Korrektheit abhängig sein. Folglich muss auch JavaScript das Formular auslösen. Ein Beispiel hierzu findet sich unter Telefondatenbank.

Fall 7)

Fall 7 ist dann eigentlich selbsterklärend.

vorhergehendes Kapitel