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

Simon Andrews simon.andrews at bbsrc.ac.uk
Tue Apr 27 01:31:59 EST 2004


Frederic Hancy wrote:

> 
> $ENV{BLASTDB} = "db/$username";
> print $q->header( "text/html");
> exec './blast.REAL' or die "Can't run command blast.REAL: $!";
> 

Possibly not relevant, but you are using a relative path for both your 
environment variable and to exec your blast.REAL program without doing 
an explicit chdir beforehand.  What happens if you use an absolute path 
for both of those statements?

Also, the error checking you're doing on the exec won't have any effect. 
  The exec will replace your Perl program with blast.REAL so the error 
check code never gets seen.

For debugging purposes you could try system instead;

system ("blast.REAL") == 0 or die "Can't run blast.REAL : $?";

As this is being run as a CGI the errors will end up in your webserver 
error logs.

STDIN is automatically inherited in both a system and exec call from 
perl so this shouldn't be an issue.
---





More information about the Bio-soft mailing list