Hallo SelfForum,
Hi Mojito!
wenn ich mittels dem CGI-Modul die einzelnen Formularfelder in meinem Skript einlese, lege ich alle Werte zuerst in einer Variable ab:
my $sid = $CGI->param('sid');
Zwar keine direkte Antwort, aber mit
----------------------------
sub ReadParse {
(*in) = @_ if @_;
my ($i, $loc, $key, $val);
if ($ENV{'REQUEST_METHOD'} eq "GET"){ $in = $ENV{'QUERY_STRING'} }
elsif ($ENV{'REQUEST_METHOD'} eq "POST"){ read(STDIN,$in,$ENV{'CONTENT_LENGTH'}) }
@in = split(/&/,$in);
foreach $i (0 .. $#in){
$in[$i] =~ s/+/ /g;
($key, $val) = split(/=/,$in[$i],2);
$key =~ s/%(..)/pack("c",hex($1))/ge;
$val =~ s/%0D%0A/\n/g;
$val =~ s/%(..)/pack("c",hex($1))/ge;
$val =~ s/<!--(.|\n)*-->//g;
$val =~ s/\t/ /g;
$in{$key} .= " " if (defined($in{$key}));
$in{$key} .= $val;
}
}
----------------------------
rufst du einfach &ReadParse; auf, und hast alle GET und POST vars im %in Hash.
Gruß
C14L