Wednesday, April 6, 2011

Can I write ISAPI filters in Perl?

I need to write an ISAPI filter for IIS 6.0 to rewrite ugly URLs into SEO-friendly URLs. Because of the need for string parsing and regular expressions, I'd prefer to use Perl to do this. There is a module for IIS called (ingeniously) Perl for IIS, but I'd rather not use that because it's an ISAPI extension itself (running in a DLL), so the Perl scripts run in the same process space as the calling process--meaning if the script crashes, so does everything in the app pool from which the script was executed.

So in short, can I write an ISAPI filter using Perl?

From stackoverflow
  • I think I just answered my own question:

    http://docs.activestate.com/activeperl/5.10/Components/Windows/PerlISAPI.html

    It looks like running it as an ISAPI extension is really my only choice.

    Chris : Just as an addendum, my fears about running Perl as a DLL are confirmed in this statement from the above link: Extra care should be taken when you write PerlIS applications. It is difficult to crash the web server using CGI, but because the PerlIS DLL runs in the process space of the server, your web server is more susceptible to crashes and hangs caused by programming errors.
    Chris : After further research, it appears PerlIS is not a way to write ISAPI filters in Perl. Rather, it's just another way to execute Perl scripts other than CGI. :( Oh well.

0 comments:

Post a Comment