#!/usr/bin/perl

sub ReadParse {
	if (@_) {
		local (*in) = @_;
	}
local ($i, $loc, $key, $val);

# Text einlesen
if ($ENV{'REQUEST_METHOD'} eq "GET") {
	$in = $ENV{'QUERY_STRING'};
} elsif ($ENV{'REQUEST_METHOD'} eq "POST") {
	for ($i = 0; $i < $ENV{'CONTENT_LENGTH'}; $i++) {
		$in .= getc;
	}
}

@in = split(/&/,$in);

foreach $i (0 .. $#in) {
	# Wandle Plus-Zeichen in Leerzeichen um
	$in[$i] =~ s/\+/ /g;

	# Wandle &XX von hexadezimal nach alphanumerisch
	$in[$i] =~ s/%(..)/pack("c",hex($1))/ge;

	# Zerteile in Key und Value
	$loc = index($in[$i],"=");
	$key = substr($in[$i],0,$loc);
	$val = substr($in[$i],$loc+1);
	$in{$key} .= '\0' if (defined($in{$key})); # \0 als multipler Seperator
	$in{$key} .= $val;
}
return 1;
}
1;
