From: "Bradley J. Seward" <[EMAIL PROTECTED]>

> >> but the two "keyword" variables are completely unrelated.
> 
> Not sure what you mean?  I know they are separate, which means the
> elsif is unaffected by the other... if I understand.  

I mean ... you are passing the parse_input() a variable, and later on 
use a different variable.

> But here's the parse_input subroutine:
> 
> 
> sub parse_input
> {
> 
>         if ($ENV{'REQUEST_METHOD'} eq 'POST')
>     {
>                 read(STDIN,$temp,$ENV{'CONTENT_LENGTH'});
>         } else
>         {
>             $temp=$ENV{'QUERY_STRING'};
>             }
> 
>     @pairs=split(/&/,$temp);
> 
>         foreach $item(@pairs)
>     {
>         ($key,$content)=split (/=/,$item,2);
> 
>                 if($content eq '')
>         {
>             $keyword{$key}="\0";

This looks really really strange.
It would be better to use either empty string or undef in case the 
variable was empty.

>         } else
>             {
>                 $content=~tr/+/ /;
>                             $content=~ s/%(..)/pack("c",hex($1))/ge;
> 
>                             if (!defined($keyword{$key}))
>                 {
>                     $keyword{$key}=$content;
>                             } else
>                     {
>                         $keyword{$key} .= "\0$content";
>                                 }
>             }
>     }
> }


Why to you pass anything to parse_input()? It ignores its parameters 
and writes the query variables into global variable %keyword!

Please
        use CGI;

Using custom query parsing procedures it not recommended.

Jenda

=========== [EMAIL PROTECTED] == http://Jenda.Krynicky.cz ==========
There is a reason for living. There must be. I've seen it somewhere.
It's just that in the mess on my table ... and in my brain
I can't find it.
                                        --- me


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to