in reply to perl - apache - winxp tmp dir???

As noted above, the Apache Windows service does indeed run as a different account ("Local System"). It has a completely different environment, and rather limited access rights. (Unless you configure the service to run as a specific user. But think twice before running your web service as a "real person" with rights to wreak a lot more havoc.)

To illustrate the environment differences, compare the output of "set" at your command line with the output of system("set") in a perl CGI script.

(Annoyingly, I don't think it's possible to run a command shell with the same account/privileges as Local System to help debug things like this. Please let me know if this isn't true!)

In this particular case, you might like to start looking at the SystemDrive env variable that your CGI script sees, as the paths that the bioperl modules try to access will be relative to that. In concrete terms, maybe the file is created in D:\tmp\blah, but it's attempting to read it from C:\tmp\blah ?

--
use JAPH;
print JAPH::asString();