Thanks for pointing that out. Really silly of me.
After correcting it, it seems that $result does not equate to 'INVALID'
even though the server returned INVALID. I can see that if I output the
value as:
$r->send_http_header('text/plain');
print "This is the value for result------:$result\n";
Does the socket NOT return a string?
#READ THE RESPONSE BODY
while (defined($content = <SOCK>)) {
$result = $result . $content;
}
if($result eq 'INVALID'){
#do something...
}
Thanks
Sumit
> -----Original Message-----
> From: Dondi M. Stroma [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, November 08, 2006 8:45 PM
> To: Sumit Shah
> Cc: [email protected]
> Subject: Re: Mod_perl and HTTP IO issue
>
> if ($result ="INVALID"){
> Is that a single equal sign? Should be double equal sign.
> Actually it should be eq because it's a string.
>
> if ($result eq 'INVALID') {
>
> ----- Original Message -----
> From: "Sumit Shah" <[EMAIL PROTECTED]>
> To: "Sumit Shah" <[EMAIL PROTECTED]>; <[email protected]>
> Sent: Wednesday, November 08, 2006 8:37 PM
> Subject: RE: Mod_perl and HTTP IO issue
>
>
> All,
>
> I was able to figure out the issue below. However, I am now facing an
> issue where if the response is 'VALID' it is not fetching the
> requested
> page as could be implied by the return statement. Also, sometimes I
> observed that even if the response is VALID, it still redirects to
> GOOGLE.
>
> #Check the status
> if ($result ="INVALID"){
> my $url1 = 'http://www.google.com';
> $r->content_type('text/html');
> $r->headers_out->set('Location' => $url1);
> $r->status(Apache::Constants::REDIRECT);
> return Apache::Constants::REDIRECT;
> }
> return;
>
> I would appreciate if you could point me to what I am doing wrong.
>
> Thanks
> Sumit
>
>
>