WWWBLAST: blast.REAL process can't read param

"Hancy Frederic" <[email protected]>
Newsgroups gmane.science.biology.informatics.devel
Message-ID <[email protected]>
>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


To my surprise @ARGV is empty even before using the CGI wrapper, though my
command gets the data through STDIN.
It works like the original bash script: exec "./blast.REAL" or die "..";
with your syntax ("./blast.REAL", @ARGV), it works as well but the argument
is simply discarded since it's empty. Until now, I thought that everything
that was transmitted as invocation arguments when calling a perl script in
command line was available either through STDIN or @ARGV. Apparently with a
CGI script, it doesn't work that way...?

Whenever I start reading from STDIN or using the CGI wrapper before the
execution of my command (adn I need to do it to get username and set BLASTDB
env), then the command doesn't receive the data anymore. If I store the data
in a variable and use it as an argument in the command, it doesn't work
either. If I write the same variable to a file, and use with STDIN redirect
to the command, then it works:

exec "./blast.REAL < /tmp/formdata" or die "..

Could it be just a syntax problem in exec, the arguments are simply not
read?

I've tried to following with no success:

exec "./blast.REAL", @formdata or die "..
exec ("./blast.REAL", @formdata) or die "..
exec "blast.REAL @formdata" or die "..
(same with a scalar)

Fred.
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.