The ActiveState Perl distribution includes Perl for ISAPI. The
FAQ briefly explains why you would want to use an ISAPI extension over the Perl executable. The main reason is that the code is kept in memory and reused which is quicker than if a new process is started.
This FAQ links to another FAQ that explains how you go about configuring the ISAPI extension.
I haven't used the ISAPI Perl extension but you may wish to consider the following.
- By default you will be sharing a process with other applications on the same server. You can isolate your application to avoid this. Remember to check file and registry permissions assigned to IWAM_<servername> in addition to the IUSR_<servername>.
- Your Perl app is now running in a multi-threaded environment. Any modules (particularly if they load DLLs) that you use need to be thread safe.