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