Perl-Quelltext des CGI-Programms comment

Diese Datei verwendet das gleiche Unterprogramm getcgivars() wie echo.pl.

# CGI-Programm comment
# * liest den Namen des Kommentators und seinen Kommentar ein.
# * gibt den Kommentar zurueck, falls obiger Name existiert.

# Gerhard Eichelsdoerfer, 1998-10-28
# Name-Wert-Paare (CGI-Variable) holen
%cgivars = getcgivars();
# default-Wert von $/ holen und durch Leerzeichen ersetzen
$default = $/;
$/ = " "; # Leerzeichen am Ende per chomp loeschen
# Ersten HTML-Teil ausgeben
print<<First;
Content-Type: text/html

<html>
<head>
 <title>Dein Kommentar</title>
</head>

<body>
First
# Wert zum Schluessel "Name" holen
$name = $cgivars{Name};
# Falls der Wert nicht existiert, Fehlermeldung ausgeben
if (!defined $name)
{print "Ich habe leider deinen Namen nicht erhalten.\n";}
else
{
 # Alle Leerzeichen am Ende loeschen
 while (chomp($name)>0){};

 # Wenn kein Wert fuer Name eingegeben wurde, Hinweis ausgeben
 if ($name eq "")
 {
  $referer=$ENV{HTTP_REFERER};
  if (!defined $referer) {$referer="javascript:history.back()";}
  print<<EOF;
Anonyme Kommentare sind hier unerwünscht.
<p>Gib bitte deinen Namen ein!
<p><a href="$referer">Zurück</a> zur Eingabe
EOF
 }
 # Kommentar wurde nicht anonym gesendet
 else
 {
  print "Hallo $name!\n<p>\n";

  # Wert fuer Kommentar holen
  $comment = $cgivars{Kommentar};

  # Wenn kein Kommentar existiert, Fehlermeldung ausgeben
  if (!defined $comment)
  {print "Ich habe leider deinen Kommentar nicht erhalten.\n";}
  else
  {
   # Alle Leerzeichen am Ende loeschen
   while (chomp($comment)>0){};

   # Wenn kein Kommentar eingegeben wurde, Hinweis ausgeben
   if ($comment eq "") {print "Hast du denn garnichts zu kommentieren?";}

   # Kommentar ausgeben
   else {print "Du meinst also folgendes:\n<pre>$comment.</pre>\n";}
  }
 }
}
print "\n</body>\n</html>";

$/ = $default;
return;

zurück


Gerhard Eichelsdörfer