#!/usr/bin/perl use CGI; $query = new CGI; print $query->header(); print $query->start_html(); @keys = $query->param; print "there were: ", $#keys+1, " keys\n"; open FILE, ">/home/httpd/cgi-bin/rb_sccs/out.txt"; $i = 0; foreach $key (@keys) { print "length of key[$i]: ", length($query->param($key)),"\n"; print "key:", $query->param($key),"\n"; ++$i; } print $query->end_html(); __END__ # get the form data... $method = $ENV{'REQUEST_METHOD'}; $length = $ENV{'CONTENT_LENGTH'}; if( $method !~ /POST/ ) { print "\n\n"; # default blank header... print "

Error

\n"; print "Error, unsupported request method: $method\n"; } print "\n\n"; # def, blank header print "\n"; print "\n"; print "

echo.cgi

\n"; read STDIN, $querydata, $length; print "reading: $length bytes from stdin\n"; @kv = split( /&/,$querydata ); print "key/value paris found: ",$#kv,"\n"; foreach $kv (@kv) { ($k,$v) = split /=/,$kv; $v =~ tr/+/ /; $v =~ s/%([\dA-F]{2})/pack("C",hex($1))/eg; $k =~ tr/+/ /; $k =~ s/%([\dA-F]{2})/pack("C",hex($1))/eg; $FORM{$k} .= $v; print "adding key element: $k\n"; } $i = 0; foreach $key (keys(%FORM)) { print "length of key[$i]: ", length($query->param($key)),"\n"; print "key:", $query->param($key),"\n"; } print "\n"; print "\n"; __END__