<HTML>
<HEAD>
<TITLE>CGI Form</TITLE>
<HR>
<FORM ACTION="index.pl" METHOD=POST>Name: <BR>
<INPUT TYPE="text" SIZE=50 NAME=Name>Please enter your salary ($####.##): <BR>
<INPUT TYPE="text" SIZE=30 NAME=Salary><P>Please enter your birth date (mm/dd/yy): <BR>
<INPUT TYPE="text" SIZE=30 NAME=Birthdate><P>
<INPUT TYPE=SUBMIT VALUE="Submit Query">
<INPUT TYPE=RESET VALUE="Reset">
</FORM>
</HTML>


File: index.pl

#!c:/perl/bin/perl
print "Content-type: text/html\n\n";
print <<HTML;
 <html><title>Decoding the Input Data</title>
 <body>
 HTML
 print "Decoding the query string";
Getting the input
$inputstring=$ENV{QUERY_STRING}};
print "<B>Before decoding:</B>";
print "<P>$inputstring";
@key_value=split(/&/,$inputstring);
foreach $pair ( @key_value){
    ($key, $value) = split(/=/, $pair);
    $value=~s/%(..)/pack("C", hex($1))/ge;
    $value =~ s/\n/ /g;
    $value =~ s/\r//g;
    $value =~ s/\cM//g;
    $input{$key}=$value ; # Creating a hash
}
print "<P><B>After decoding:</B><P>";
while(($key, $value)=each(%input)){
    print "$key: <I>$value</I><BR>";
}
print <<HTML;
</body>
</html>
HTML