#!C:/apachefriends/xampp/perl/bin/perl.exe -w #!C:/apache/Perl/nsperl.exe -w # Die 1. Zeile ist die Shebang-Zeile und enthält den Pfad zum Perl-Interpreter ## echo.pl ## Dieses Perl-Skript schickt Formulardaten an den Client zurück ## Bernhard Kreling, 26.4.2002 # HTTP-Header für Antwort an Browser: print "Content-type: text/html\n\n"; # HTML-Datei schreiben: print '', "\n"; print "\n"; print "
\n"; print "Sie haben folgende Formulardaten mit der Methode "; # Formulardaten übernehmen abhängig von der Request-Methode: my $ParameterString; if ($ENV{'REQUEST_METHOD'} eq 'GET') { print "GET"; $ParameterString = $ENV{'QUERY_STRING'}; } elsif($ENV{'REQUEST_METHOD'} eq 'POST') { print "POST"; read(STDIN, $ParameterString, $ENV{'CONTENT_LENGTH'}); # auf mmlab erscheint die Meldung "HTTP/1.1 100 Continue" - warum auch immer... } print " übermittelt.
\n"; # Formulardaten als undekodierten String zurücksenden: print "ParameterString:
$ParameterString
Einzelne Parameter:
\n";
my $Parameter;
foreach $Parameter (@ParameterListe)
{
# Parameter in Name und Wert zerlegen mit '=' als Trenner:
my $Name;
my $Wert;
($Name, $Wert) = split(/=/, $Parameter);
# Leerstellen restaurieren ('+' ersetzen durch ' '):
$Wert =~ tr/+/ /;
# Hex-Codes %xx umwandeln in Character:
$Wert =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C" , hex($1))/eg;
# HTML-Sonderzeichen '&', '<', '>' kodieren:
$Wert =~ s/&/&/;
$Wert =~ s/</;
$Wert =~ s/>/>/;
# Parameter ausgeben in HTML-Datei:
print "$Name = $Wert
\n";
}
# HTML-Datei abschliessen:
print "