Why do you use perlis.dll in the shebang line? The standard /usr/bin/perl makes much more sense. Wth "ScriptInterpreterSource registry", the shebang line isn't used. If you have perlis.dll for .cgi in the registry, then perlis.dll might work under Apache but there is no benefit over perl.exe. On Unix, perlis.dll doesn't exist unless you make a symlink. Using /usr/bin/perl means you CGI script can run under Apache Win32, Apache Cygwin, Apache Windows, IIS CGI, and IIS ISAPI without changes.