I'm not quite sure what you mean by "nope." When you run "x.pl", it is the web server (i.e. IIS or Apache or whatever) that determines how to run it. When x.pl calls system("t.pl"), then it is the command interpreter (CMD.EXE) that figures out how to run it. It's two separate programs which are configured separately, so the fact that "x.pl" runs okay just doesn't tell you anything about whether the system call will work.
I can think of at least three conditions that need to hold for system("t.pl") to work correctly, over and above the condistions necessary for system('c:\perl\bin\perl.exe \htdocs\cgi-bin\t.pl').
Namely:
- t.pl has to be in the current directory or one of the PATH directories.
- The ASSOC/FTYPE association has to hold
- t.pl has to have Read & Execute allowed for the user under which the web user is running (which is different, in general, from the browser user
None of these is a matter of Windows 2000 v. Windows XP, but a matter of individual file, directory, registry, and environment variables.