#!/usr/local/bin/perl
# adapted (lightly) from the O'Reilly cgi book
# "accidents with chainsaws are rarely trivial"  

$request_method = $ENV{'REQUEST_METHOD'};

if ($request_method eq "GET") {
    $form_data = $ENV{'QUERY_STRING'};
} else {
    read (STDIN, $form_data, $ENV{'CONTENT_LENGTH'});
}
@pairs = split(/&/, $form_data);
foreach $pair (@pairs) {
    ($key, $value) = split (/=/, $pair);
    $value =~ tr/+/ /;
    $value =~ s/%([\dA-Fa-f][\dA-Fa-f])/pack ("C", hex ($1))/eg;
    $form{$key} = $value;
}
# end of O'Reilly cgi code

$url = $form{"url"};

print "Content-type: text/html", "\n\n";
print <<EOData;
<HTML>
<HEAD>
<TITLE>
Link cgi script output</TITLE>
</HEAD>
<body>
Wait...<br>
OR click <a href=$url>here</a>.
</body>
</HTML>
EOData

exit(0);