#!c:/Perl/bin/perl $danke_mail = 0;           # Dankeschön an den Besucher $danke_betreff = 'Vielen Dank für den Eintrag'; $meine_mail = 0;                # 0: nein;   1: ja $mein_betreff = 'Neuer Eintrag im Gästebuch'; $meine_adresse = 'lord4lenz@hotmail.com';       $mail_breite = 60;         $trennzeichen = '
';       $neu = 1;                         $gaestebuchreal = '../htdocs/pages/index.html';        # die Gästebuch-Datei $gaestebuchvirtual = '../index.html'; $mailprog = '/usr/sbin/sendmail'; if($ENV{'REQUEST_METHOD'} eq 'GET')  { $eingabe = $ENV{'QUERY_STRING'}; } else  { read(STDIN, $eingabe, $ENV{'CONTENT_LENGTH'}); } @paare = split(/&/, $eingabe); foreach $paar (@paare) {   ($schluessel, $wert) = split(/=/, $paar);   $wert =~ tr/+/ /;   $wert =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",    hex($1))/eg;   $wert =~ s/<([^>]|\n)*>//g;   $FORM{$schluessel} = $wert; } &name_fehlt unless ($FORM{'name'}); &kommentar_fehlt unless ($FORM{'kommentar'}); if ($meine_mail == 1)  { &meine_mail; } &lesen(); &suchen(); sub name_fehlt {  print "Content-Type: text/html\n\n";  print "
\n";  print "

Name fehlt !

\n";  print "Ohne Ihren Namen ist ein Eintrag ";  print "in das Gästebuch nicht möglich.

\n";  print "Mit dem Zurück-Button Ihres Browsers kommen";  print " Sie wieder zurück zur vorherigen Seite.\n";  print "";  exit; } sub kommentar_fehlt {  print "Content-Type: text/html\n\n";  print "

\n";  print "

Kommentar fehlt !

\n";  print "Ohne geschriebenen Kommentar ";  print "ist ein Eintrag nicht möglich.

\n";  print "Mit dem Zurück-Button Ihres Browsers kommen";  print " Sie wieder zurück zur vorherigen Seite.\n";  print "";  exit; } sub lesen {  open(DATEI,"<$gaestebuchreal") || die "Fehler";  @gaestebuch = ;  close(DATEI); } sub suchen {  open(DATEI,">$gaestebuchreal") || die "Fehler";  foreach (@gaestebuch)  {    if(//)    {      &eintrag;    }    else    {      print DATEI $_;    }  }  close (DATEI); } sub eintrag {  if ($neu == 1)  {    print DATEI "\n";  }  print DATEI "$FORM{'name'} ";  if($FORM{'ort'})  {    print DATEI "$FORM{'ort'} ";  }  print DATEI "

$FORM{'kommentar'}

\n";    if ($FORM{'email'})  {    print DATEI "\<$FORM{'email'}\>
\n";  }  else  {    print DATEI "
\n";  }    if ($FORM{'land'})  {    print DATEI "$FORM{'land'}";  }  if ($FORM{'ort'} || $FORM{'land'})  {    print DATEI "
\n";  }  print DATEI "$trennzeichen
\n";  if ($neu == 0)  {    print DATEI "\n";  } } print "Location: $gaestebuchvirtual\n\n"; sub meine_mail {  local $text = &umbruch($FORM{'kommentar'},60);  open (MAIL, "|$mailprog $meine_adresse") || die "Fehler bei $mailprog!\n";  print MAIL "To: $meine_adresse\n";  print MAIL "Reply-to: $FORM{'email'}\n";  print MAIL "From: $FORM{'email'}\n";  print MAIL "Subject: $mein_betreff\n\n";  print MAIL "$FORM{'name'}\n";  print MAIL "$text\n";  close (MAIL); } sub umbruch {  $_[0] =~ s/\n/ /g;  my @zeilen = split(/ /,$_[0]);  my $zaehler = 0;  my $string = '';  foreach(@zeilen)  {    $zaehler += length "$_";    if ($zaehler < $_[1])    {      $string.= "$_ ";    }    else    {      $string .= "\n$_ ";      $zaehler = length "$_";    }  }  return $string; } if ($danke_mail == 1 && $FORM{'email'})  { &danke_mail; } sub danke_mail {  open (MAIL, "|$mailprog $FORM{'email'}") || die "Fehler bei $mailprog!\n";  print MAIL "To: $FORM{'email'}\n";  print MAIL "Reply-to: $FORM{'meine_adresse'}\n";  print MAIL "From: $FORM{'meine_adresse'}\n";  print MAIL "Subject: $danke_betreff\n\n";  print MAIL "Vielen Dank für ihren Eintrag.\n";  print MAIL "Bitte besuchen sie unsere Seiten ";  print MAIL "doch bald wieder.";  close (MAIL); }