I've got an old website that I need to keep running on a new server - Windows Server 2008 R2 with IIS 7.5. The website uses Perlfect search (http://www.perlfect.com/freescripts/search/), which requires both Perl and the DB_File Perl module. The latest versions of ActiveState Perl (5.10 and above) come with a script to correctly work with IIS 7.5, but for some reason are unable to run DB_File (details are available on the ActiveState site). The latest version of ActiveState Perl that will run DB_File on windows is 5.8, but that version does NOT come with the script that configures IIS 7.5.


I couldn't make any headway on the "No DB_File for Perl 5.10 + on windows", so I decided to tackle integrating Perl 5.8 with IIS 7.5.

I installed ActiveState Perl 5.8.7 (32 Bit). I installed DB_File using ppm (install DB_File). I verified that Perlfect worked at the command line by running the indexer.pl script first, then running searches using the search.pl script.

To get Perl scripts working in IIS I adapted the instructions for PHP in IIS 7.5 at http://www.go2inbox.com/infob/readinfo.php?readinfo=1688

  1. Open IIS
  2. Click on the webserver name in the left hand panel
  3. Double click on the Handler Mapping icon in the IIS section of the middle pane
  4. Click on "Add Script Map" located at the right hand side under Actions.
  5. In the pop up window set "Request path:" to "*.pl", "Executable:" to "c:\perl\bin\perlis.dll" and the "Name" to "Perl" and click OK.
  6. Say "yes" to the dialog box that asks if you want to enable this ISAPI script
  7. Click on "Application Pools" on the left hand pane in IIS. In the middle pane, right click on the application pool you are using (in my case "DefaultAppPool").
  8. Choose Advanced Settings
  9. Set "Enable 32 Bit Applications" to True (I did not test the 64 bit version of Perl).
  10. Click on the webserver in the left hand pane, then click on the "Restart" link that appears in the right hand pane.

That worked for me. I should be able to limp along until we upgrade the search function to the 21st century.

  • If it worked for you, why don't you mark your question answered? – gWaldo Sep 8 '10 at 20:35
  • Sorry about that - I couldn't mark it as answered right away and I haven't been back to Serverfault since. – RobbieCanuck Sep 20 '10 at 16:56
  • Thanks for much! I also had to set the pipeline mode to classic in the app pool settings... – Christopher Edwards Oct 24 '10 at 16:22
  • Thank you so much for writing this, Mr. Robbie Canuck! This was the ultimate HowTo that I needed, to get Perlfect search running on IIS 7.5. Of course I tried to contact you in person, for sending you a bunch of Euros and German chocolate, but unfortunately I did not succeed. Vergelt’s Gott! – user179545 Jun 28 '13 at 7:21

It was because of oddities with packages, I moved from ActivePerl to Strawberry Perl. It is much closer to a *nix Perl, and since it installs a C compiler, you can use CPAN natively.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.