#!/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 "\n"; } print "
$key: $FORM{$key}
\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; } } }