Jenda has asked for the wisdom of the Perl Monks concerning the following question:
I have a fairly strange issue here. I have ActivePerl v5.8.8 build 822 on MS Windows Server 2003 with IIS with both .pl and .plx assigned to ...\PerlIs.dll in two different websites. The PerlIs.dll is allowed in the Web Service Extensions and everything works fine in one of the websites. In the other as long as the script doesn't contain any "use" statement (apart from pragmas like strict and warnings) it works as well. As soon as there is a use statement, the script dies with "Script produced no output", there is nothing useful in the webserver log and "INTERNAL ERROR: PerlParse did not exit clean!!!!" in PerlIs-Err.log. If I put the use statement into eval"" I do not get even this.
use strict; use warnings; no warnings qw(uninitialized); #use FileHandle; #use IO::Tee; print "HTTP/1.0 200 OK\r\nContent-type: text/html\r\n\r\n"; #print "Content-type: text/html\r\n\r\n"; eval "use IO::Tee;"; print "<html><body>Error=$@</body></html>\n";
If I change the script mapping to execute the scripts with perl.exe they work fine. And if I modify the module name to something that doesn't exist I do get the expected error message even from PerlIs.dll.
As the perl stuff is not used often I could leave it set up to perl.exe, but the (IMNSHO very annoying) fact that perl.exe and perlis.dll requires different headers (with or without the HTTP/1.0 status line) makes this a rather bad solution. Any ideas?
Update: I forgot to add that the two websites are set to use a different Application Pool, both contain a lot of plain old VBScript ASPs and the one where PerlIs.dll acts up uses some PerlCtrl produced DLLs from within those ASPs. I believe they were compiled with the same version of Perl (I've had problems with DLLs compiled with a different version than the one that was installed on the server and recompiled them. The symptoms were different.). I've tried to load all those DLLs into a Perl process on that server and load some modules ... no problem.</p
Thanks, Jenda
|
Support Denmark! Defend the free world! |
|
|---|