#!/usr/princeton/bin/perl -w

my %params;

read(STDIN, $q, $ENV{CONTENT_LENGTH});
# $q = $ENV{QUERY_STRING};
parse($q);
foreach $i (sort keys %params) {
        $s .= "$i = $params{$i}<br>\n";
}
foreach $i (sort keys %ENV) {
        $env .= "<br> $i $ENV{$i}";
}

$q = $q . " " . $env;
$d = localtime();
$oldcookie = $ENV{HTTP_COOKIE};
print <<END;
Set-Cookie: $d $oldcookie
Content-Type: text/html

<html>
<body bgcolor=white>
<h2>
query = $q

<p>
params = $s
END

sub parse {
        my $temp = "@_";
        my @pairs = split('&', $temp);
        my($par, $val);

        foreach (@pairs) {
                ($par, $val) = split('=');
                $par = unescape($par);
                $val = unescape($val);
                if ($params{$par}) {
                        $params{$par} .= "$;$val";
                } else {
                        $params{$par} = $val;
                }
        }
}

sub unescape {
        my $temp = "@_";
        $temp =~ tr/+/ /;       # translate + to space
        $temp =~ s/%([0-9a-fA-F]{2})/pack("c",hex($1))/ge;
        return $temp;
}

