Hallo,
Ich habe mir ein perlscript zusammen gebastelt.
Gebastelt kann man so nicht sagen da ich zum einen
#!/usr/bin/perl -Tw
use strict;
use CGI::Carp qw(fatalsToBrowser);
verwende und es funktioniert tadellos.
Meine frage diesbezüglich ist,ob da nicht eventuell zuviel im sub parse drinn steht,
wenn ich mir die parse funktion bei selfhtml http://selfhtml.teamone.de/cgiperl/intro/cgihtml.htm#wechselwirkung_html_cgi
ansehe,dann siehts dort erheblich einfacher aus.
Ich füge mal meinen code unten hin zur einsicht:
my %input = parse_form();
sub parse_form {
my ($len, $meth, $type, $input);
my %input;
# Read three useful environment variables
$type = $ENV{'CONTENT_TYPE'};
$len = $ENV{'CONTENT_LENGTH'};
$meth = $ENV{'REQUEST_METHOD'};
if ($len > 300) {
die("error was found 3\n");
}
if ($type eq 'application/x-www-form-urlencoded' || $type eq '' ) {
my ($value, $i);
# Read in text
if ($meth eq 'POST') {
read(STDIN, $input, $len);
}
else {
die("error was found 2\n");
}
#Split @in into multiple fields.
my @vars = split(/[&;]/,$input);
foreach $i (0 .. $#vars) {
# Convert plus to space
$vars[$i] =~ s/+/ /g;
# Convert %XX from hex numbers to a character
$vars[$i] =~ s/%(..)/pack("c",hex($1))/ge;
my ($name, $value) = split /=/, $vars[$i];
$input{$name} = $value;
}
}
else {
die("error was found 1");
}
return %input;
}
---------------------------
Gruss
vom Alain