0
votes

I need to migrate an ActivePerl PerlEx web application from Apache to IIS. I'm starting with baby steps. I installed ActivePerl 32-bit, and I've added the necessary module mapping for linking *.asp (don't ask me why the original dev chose this, he just did) to the PerlEx30.dll module. I've tried using the out-of-the-box BAT file and manually adding the configuration, but neither seems to work.

I have a test.asp file that is just "Hello, world!". No code, just that text. When I go to visit the page, w3wp.exe has an APPCRASH fit. It says the faulting module is Perl522.dll.

I did manage to get Perl ISAPI (where you essentially just execute Perl code; no fancy <% %> blocks) to work, but PerlEx is giving me a rather hard time.

My application pool is set for 32-bit, and the application pool identity has all the access it needs to the c:\perl directory on the server.

Has anyone else run into this? What did you do to resolve it? The server is Windows Server 2008 R2, and it's IIS 7.5.

For what it's worth, I've also tried stuff like <% echo "Hello, world!" %> to no avail; still crashes.

1
Then you have to stick to the legacy platform (Apache for example). The vendor explicitly states that PerlEx is not supported, community.activestate.com/node/19747 All efforts you spent would be in vain. - Lex Li
They send mixed messages, since they also have this blog post specifically about IIS 7.0 and 7.5: activestate.com/blog/2010/06/setting-iis-activeperl - haliphax
2010 and 2016. Which is more up-to-date then? - Lex Li
Gee, I don't know. I can't do simple math. At any rate, it turns out that I needed ASP to run PerlScript, not PerlEx. I got it working. - haliphax

1 Answers

0
votes

Well, never mind. Turns out I needed to add the ASP feature and set the default language to be PerlScript in order for this to operate properly. Then, I use <% $Response->Write("Hello, world!") %> instead of <% echo "Hello, world!" %> to do what I need.