Perl is an interpreted language. Any script you write requires the presence of the Perl interpreter (perl.exe and perl300.dll) and any external libraries your script uses. If you want to run Perl scripts on your Windows 95 or Windows NT Workstation clients, you'll need to install Perl for Win32 on each client machine. Or will you?

Mercury Systems offers a command-line utility called Perl2Exe that converts Perl scripts to executable (.exe) files. You can download a demo copy of Version 2.04 from the Perl2Exe Home Page (http://www.demobuilder.com/
perl2exe.htm).

Perl2Exe's magic is simple. The utility packages the Perl interpreter, any external libraries, and your Perl source into one binary executable. When you invoke the executable on a system that doesn't have Perl installed, the executable extracts the necessary images and invokes the script. However, this ability comes with a price. Every Perl2Exe executable weighs in at a hefty 600KB+ based on the size of the embedded Perl interpreter. This fact might make you think twice before deploying a Perl2Exe executable as part of your logon process.

Perl2Exe does have some benefits. For example, it protects your Perl source code; the only visible files on a host running a Perl2Exe executable are the external libraries. Perl2Exe also makes scheduling Perl scripts easier. This utility is worth considering if you're opposed to distributing Perl to all your servers and clients or if you're in a situation that prevents you from distributing Perl to all your servers and clients.