Einfaches CGI-Beispiel

Als erstes Beispiel soll ein Perl-Script vorgestellt werden, das die Eingabe des nachfolgenden Formulars auswertet.

Ihr Vorname:

Probieren Sie das Beispiel aus und sehen Sie sich den Quelltext des Perl-Programms an.

HTML-Code des Formblattes:

<form method="post" 
      action="/~rztwww/cgi-bin/CGI-Server/beispiel_0.pl">
   <table border="1" bgcolor="#eeeeee" 
          cellpadding="6" cellspacing="0">
      <tr><td>Ihr Vorname: </td>
      <td>
      <input type="text" name="Vorname" value="">
      </td>
      <td>
      <input type="submit" name="Submit" value="test it">
      </td></tr>
      </table>
</form>


  • Strukturdiagramm:

    Strukturdiagramm

Erläuterungen:

  • Das Beispiel wurde im funktionsorientierten Stil programmiert.

  • Die Funktionen des CGI-Moduls werden mit use eingebunden, z.B.

    use CGI qw/:standard -private_tempfiles/; 
    use CGI::Carp qw(fatalsToBrowser);
    

  • Durch die erste use-Anweisung steht die Funktion param zur Verfügung, über die direkt auf die FORM-Parameter zugegriffen werden kann. Die Wertzuweisung erfolgt in unserem Beispiel durch

    $Vorname = param('Vorname');
    

    Die Wahl des Perl-Variablennamen $Vorname ist beliebig. Vorgegeben ist allerdings der param-Parameter: 'Vorname' korrespondiert mit dem Namen des entsprechenden FORM-Parameters.

  • Die CGI Umgebungsvariablen sind in der Hash-Variablen ENV abgespeichert. Z.B. ist die Anzahl der mit der Request-Methode POST übertragenen Zeichen in der Variablen CONTENT_LENGTH abgelegt. Den Inhalt dieser Variablen erhalten Sie im Perl-Script mit

    $ENV{'CONTENT_LENGTH'}