Re: WWWBLAST: blast.REAL process can't read param values from parent process

Malay <[email protected]>
Newsgroups gmane.science.biology.informatics.devel
Message-ID <[email protected]>
Hancy Frederic wrote:
> Hi Malay,
> 
> Thanks for your suggestion with @ARGV, I've tried it but it didn't work in a
> first place. I've tried to read directly from STDIN without any success:
> 
> my $query;
> if ($ENV{REQUEST_METHOD} eq 'POST') {
> 	read (STDIN, $query, $ENV{CONTENT_LENGTH});
> 	print $query;
> 	}
> 
> From what I understand of CGI, when the web server receives an HTTP request,
> it reads the HTTP headers and passes the content body of the message to the
> CGI script on STDIN (cf. O'Reilly's CGI prog.). STDIN is empty for a GET
> request (no body), and should contain the encoded form data in the case of a
> POST request. The content-length header is used for reading the right amount
> of bytes from the content body of the POST request.
> 
> So why can I access to my param values through the CGI.pm object, but not
> through STDIN? Well, the answer (after a week of struggle) is rather
> trivial: you can't do both! If you instantiate a cgi object, it reads all
> the data from STDIN, but nothing else seems to be available when running a
> command.

Yes. Right. Your CGI wrapper will get the input from STDIN but there is 
no reason why it can't call a child program with commad line argument. 
"@ARGV" in my code was actually argument passed to the child process. If 
you are calling the "exec" from a CGI wrapper then @ARGV will be 
undefined. You need to set these arguments and called the child program 
with the command line params.

Malay
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.