#!/usr/bin/perl
# Perl-Programm, das die eingegebenen Formulardaten anzeigt
$| = 1;
use strict;
my %FORM = ();
# Parsing the FORM-Input
&parse_form;
# Print Results of the form
&return_html;
sub return_html
{
my $key;
print "Content-type: text/html\n\n";
print "\n";
print "
Formular-Eingabe\n";
print "Formular-Check
\n";
print "Die Formulardaten lauten:\n";
print "
\n";
foreach $key (sort(keys %FORM))
{
print "| $key: | $FORM{$key} |
\n";
}
print "
\n";
print "Zurück zum Formular\n";
print "\n";
}
sub parse_form
{
my ($buffer, @pairs, $pair, $name, $value);
# Read in text
if ($ENV{'REQUEST_METHOD'} eq "POST")
{
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
}
else
{
$buffer = $ENV{'QUERY_STRING'};
}
@pairs = split(/&/, $buffer);
foreach $pair (@pairs)
{
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
if (defined $FORM{$name})
{ $FORM{$name} = $FORM{$name} . ", " . $value; }
else
{ $FORM{$name} = $value; }
}
}