#!/usr/bin/perl &ReadParse(*input); $data = $input{'data'}; print "Content-type: text/html\n\n"; print <<"endhtml"; DeGraeve.com Image

A DeGraeve.com Image


$input{'p'}
endhtml #------------------------------ sub ReadParse { local (*in) = @_ if @_; local ($i, $key, $val); # Read in text if (&MethGet) { $in = $ENV{'QUERY_STRING'}; } elsif (&MethPost) { read(STDIN,$in,$ENV{'CONTENT_LENGTH'}); } @in = split(/[&;]/,$in); foreach $i (0 .. $#in) { # Convert plus's to spaces $in[$i] =~ s/\+/ /g; # Split into key and value. ($key, $val) = split(/=/,$in[$i],2); # splits on the first =. # Convert %XX from hex numbers to alphanumeric $key =~ s/%(..)/pack("c",hex($1))/ge; $val =~ s/%(..)/pack("c",hex($1))/ge; # Associate key and value $in{$key} .= "\0" if (defined($in{$key})); # \0 is the multiple separator $in{$key} .= $val; # Get rid of any weird characters. $in{$key} =~ s/\*|\$|\<|\>|\#|\%//gi; } return scalar(@in); } sub MethGet { return ($ENV{'REQUEST_METHOD'} eq "GET"); } sub MethPost { return ($ENV{'REQUEST_METHOD'} eq "POST"); }