"Jdavis" <[EMAIL PROTECTED]> wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> i have not been following this thread...but it appears as if you just
> want a generic cgi scrip to work...I like to use &ReadParse for
> most of my easy cgi interactions ...heer is a example..
>
<snip />
Do not use. Broken form parameter parser below:
> #!/usr/bin/perl
>
> &ReadParse;
>
> print "$in{email}\n";
>
> #all you need to do is paste this at the bottom
> # of your cgi scrip and refer to the form vars by
> #ther name using the method above...
>
> # Adapted from cgi-lib.pl by [EMAIL PROTECTED]
> # Copyright 1994 Steven E. Brenner
> sub ReadParse {
> local (*in) = @_ if @_;
> local ($i, $key, $val);
>
> if ( $ENV{'REQUEST_METHOD'} eq "GET" ) {
> $in = $ENV{'QUERY_STRING'};
> } elsif ($ENV{'REQUEST_METHOD'} eq "POST") {
> read(STDIN,$in,$ENV{'CONTENT_LENGTH'});
> } else {
> # Added for command line debugging
> # Supply name/value form data as a command line argument
> # Format: name1=value1\&name2=value2\&...
> # (need to escape & for shell)
> # Find the first argument that's not a switch (-)
> $in = ( grep( !/^-/, @ARGV )) [0];
> $in =~ s/\\&/&/g;
> }
>
> @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. \0 is the multiple separator
> $in{$key} .= "\0" if (defined($in{$key}));
> $in{$key} .= $val;
> }
> return length($in);
> }
>
>
<snip />
Todd W.
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]