use Mosche;
my $key = '';
my $val = '';
my %in = ();
my $in = '';
if ( $ENV{REQUEST_METHOD} eq 'POST'){
read(STDIN, $in, $ENV{CONTENT_LENGTH});
}else{
$in = $ENV{QUERY_STRING};#GET lesen
}
for(split/&/,$in){##Input nach Paaren splitten key=val
($key , $val) = split/=/;#splitten nach key=val
$key =~ y/+/ /;# + durch Space ersetzen
$key =~ s/%(..)/pack("c",hex($1))/ge;#Sonderzeichen decodieren
$val =~ y/+/ /;# + durch Space ersetzen
$val =~ s/%(..)/pack("c",hex($1))/ge;
$in{$key} .= $val;
}
_Bitte_ verzichte auf diesen Code, und benutze CGI.pm:
use CGI;
my $q = new CGI;
Parameter bekommst du dann mit $q->param('dein_key');
Wenn du weiterhin dein %in behalten willst, benutze folgendes:
my %in;
$in{$_} = $q->param($_) foreach $q->param();
Ich möchte darauf hinweisen, dass dieser Code es dir erlaubt, auf den gesamten _Schmus_ da oben zu verzichten, er ist aber nicht sehr performant, da jedesmal deine gesamten Parameter ausgelesen werden, obwohl du vielleicht nicht alle brauchst. Es ist aber mit _Sicherheit_ besser als dein Code.
use Tschoe qw(Matti);