Perl for Win32 Frequently Asked Questions (FAQ)
Main Page
1. Availability and Installation
1.1. What is Perl, and where can I get a ton of information about it?
Perl is a scripting language widely used for system administration and
programming on the World Wide Web. It originated in the UNIX community
and has a strong UNIX slant, but is still very useful for Win32
platforms. perl (small 'p') is the program used to interpret the Perl
language.
To get more information about Perl, check out these WWW URLs:
There are several good books about Perl; consult your local technical
bookstore. Two in particular to consider are _Programming_Perl_, 2nd
Edition, by Larry Wall, Tom Christiansen and Randal L. Schwartz
(O'Reilly & Associates, 1996) and _Learning_Perl_, by Randal L. Schwartz
(O'Reilly & Associates, 1993). These are referred to by Perl enthusiasts
as "the Camel book" and "the Llama book", respectively. The nicknames
come from the pictures on the front covers.
If you are new to Perl, and there are any terms mentioned in this FAQ The main Perl interpreter available for the Win32 platform is Perl for The Perl for Win32 package includes perl, PerlIS, and several A beta version of Perl for Win32, which is at the perl 5.003 level, Another implementation is the perl port in the MKS Toolkit from Another version is available compiled for OpenNT for Microsoft [Any other implementations that should be mentioned here? - ESP] The standard perl distribution is mainly geared for UNIX systems. The However, it has been done. Karl Martin Syring has built perl with To build this, you'll need GNU-Win32, which is available from Cygnus Gary Ng has ported perl to be compiled with Microsoft Visual C++. To build it, unzip the distribution file into a win32 subdirectory The Perl for Win32 package is available as a ZIP archive by anonymous To download from ActiveWare, look in this directory: ftp://ftp.activeware.com/ntperl/perl5.001m/CurrentBuild/ There are 4 distribution packages: one for Intel x86 machines, one for To download files from CPAN, go to the following URL: Note that this will automatically redirect you to your nearest CPAN Because the Perl for Win32 package contains long file names (LFNs), To extract the archive, make a new directory on your hard drive that The source code package includes make files for Visual C++ versions 2.x The source distribution only includes Intel targets. If you're building First, make sure you unzipped the archive correctly into the destination Build the "perl100 - Win32 Perl Intel DLL Release" target (Go have some Now, open the perl.mdp project file in the exe-src subdirectory of your Optionally, you can build the extension files that come with the source Note that the extensions look for perl100.lib in the dll-src\Release Building the extensions will put the extension binaries (.pll files) in The last step is running install.bat, a perl program masquerading as a If you installed in a directory with long file names (like Installing Perl for Win32 adds the following keys to your registry, if The BIN and PRIVLIB values are probably used in the perl interpreter to Installing also adds your perl binary path to the PATH variable for your Also, if you have Microsoft Internet Information Server (IIS) installed, You are not able to uninstall Perl for Win32 from the Add/Remove In your original perl directory, there is a file called uninstall.bat. uninstall.bat does not delete your Perl for Win32 files for you. You can Active Scripting is a new technology put out by Microsoft Corporation to Yes. On December 4, 1996, ActiveWare released a beta version of ftp://ftp.activeware.com/beta/PlSEi302.exe or on CPAN at You'll also need to download either the Perl for Win32 5.003 binary or There's no documentation to speak of, but there are several examples. Although it's possible to program in batch language or with QBASIC (a Awk and UNIX shell languages are available from in several UNIX-to-NT [Any others? -ESP] On December 4, 1996, ActiveWare released a beta version of Perl for Win32 ftp://ftp.activeware.com/Perl-Win32/beta/ or on CPAN at There are four beta packages: Neither PerlIS (see question 2.2) or any of the RISC processor Many of the answers in this FAQ do not apply to the beta version. Perl for Win32 is a Win32 command-line program. It expects to be run If you want to run a Perl script, write the script out using a text Save the program to a file on your hard disk (such as This should print out the words "Hello, World!" on the screen. perl.exe has a lot of nifty command-line arguments that can make your To answer the original question about what's happening when you start The blinking cursor means perl is waiting for your input. You can PerlIS.dll is a special interpreter for Perl (see question 2.2). Because However, if you don't use IIS on the machine you're installing Perl for If you get this error, ignore it. Perl programs should run just fine. If If you want to use PerlIS.dll with another ISAPI-enabled Web browser, you'll
that you don't get, try one of the above resources.
1.2. What Perl interpreters are available for the Win32 platform?
Win32. It was developed by ActiveWare, Inc. (originally Hip
Communications) for Microsoft Corporation for inclusion in the Windows
NT Resource Kit. It has since taken on a life of its own. When people
talk about "Perl for Win32", it is this package that they mean.
Win32-specific modules developed by ActiveWare.
is also available. See question 1.13.
Mortice Kerns Systems, Inc. (). This is a package
that includes numerous other UNIX-originated tools.
Windows NT (). OpenNT is a
replacement for the POSIX subsystem of Windows NT, and is produced by
Softway Systems, Inc. You'll have to have OpenNT to run this version.
1.3. Can I build perl myself from the standard distribution source code?
configuration scripts are in UNIX shell language. It is therefore not
a simple task to build perl from the standard distribution.
the GNU-Win32 development system. His port is available at:
Support ().
His port is available at this address:
of your perl directory (from the standard distribution — like the
os2 subdirectory).
1.4. Where is the Perl for Win32 interpreter available?
FTP from ActiveWare and from CPAN, the Comprehensive Perl Archive
Network.
DEC Alpha machines, one for PowerPC machines, and one source code
package. These packages are named XXX-i86.zip, XXX-Alp.zip, XXX-Ppc.zip,
and XXX-src.zip, respectively, where XXX is the current build number.
The current build number is 110.
mirror site.
1.5. How do I unzip the Perl for Win32 package?
normal zip file handlers like PKZip will not open them correctly. [Does
the newest version of PKZip handle LFNs correctly? -ESP] You need to get
a zip file opener that can work with LFNs, such as:
ftp://ftp.uu.net/pub/archiving/zip/WIN32/
will become your new perl directory ("C:\Program Files\perl5" and
"C:\perl5" are good candidates). Extract the archive to that directory,
making sure that directory names are expanded from the archive (this is
crucial!). See the documentation for your unzipper for details.
1.6. How do I build Perl for Win32 from the source code package?
and 4.x. The following instructions are for Visual C++ 4.x. [Does anyone
have instructions for VC++ 2.x? How about other Win32 C++ compilers?
-ESP]
for another platform, like DEC Alpha, you may have to fiddle with the
build settings to get them to work. [Anyone done this? -ESP]
directory. Then, open the perl100.mdp project file in the dll-src
subdirectory of your perl directory with Microsoft Developers Studio.
lunch — this will take a while). You'll end up with a perl100.dll file
in your ntt subdirectory of your perl directory.
perl directory. Build the "perl - Win32 Perl Intel Release" target. You
also have to build the "perl - Win32 PerlGlob Intel Release" target.
These will produce perl.exe and perlglob.exe, respectively, in your ntt
directory.
distribution. These include:
question 9.15.
Consider doing a batch build of these, to save yourself some
headaches.
dll-src\Ext\Win32\NetResource\ directory. For some reason, this one
isn't included with all the other Win32 modules. See also
question 9.16.
directory, which by default doesn't exist. You can either create the
directory and copy the lib file there, or go through the build settings
for the extensions and set them to point to the proper directory,
dll-src\LibRel.
the proper place in the Lib subdirectory.
1.7. OK, I've got it downloaded, unzipped, and optionally built. Now what?
batch file found in your perl directory. Running install.bat will
register the perl program and PerlIS with your system, as well as copy
the binary files from the ntt subdirectory to the bin subdirectory.
"C:\Program Files\perl5"), you may want to change directory to the DOS
version of your directory (like "cd C:\PROGRA~1\perl5") before running
install.bat. This ensures that you get only readable paths in your
registry, and could avoid some annoying errors.
1.8. What does installing do to my registry?
they don't already exist:
registry key
find files for loading. The purpose of the HTML-DOCS value is unclear.
system, as well as "." (current directory), for historical reasons.
install.bat will associate an extension of your choosing (.pl is the
default) with PerlIS in the IIS script mapping registry key,
HKEY_LOCAL_MACHINE\System\Services\W3SVC\Parameters\Script Map. See IIS
documentation for more info on the script map.
1.9. How do I uninstall Perl for Win32?
Programs section of the Control Panel (if you have such a section).
Use this to clear out the registry settings created by install.bat.
do this manually with Explorer, File Manager, or
"del [perl directory]\*.* /S /Q", where [perl directory] is your perl
directory.
1.10. What is ActiveScripting?
allow code embedded in HTML pages to run on WWW clients or servers. It
is designed to be language neutral, so that you can write Active Scripts
in Visual Basic, JavaScript, Python, or, theoretically, Perl.
1.11. Is there an ActiveScripting version of Perl available?
PerlScript, an ActiveScripting engine for the Perl language.
source format package in the same directory (see question 1.13).
ActiveScripting works a lot like OLE Automation, so if you review
that documentation, plus the ActiveScripting documentation, you should
be able to get along.
1.12. What other scripting languages are available for Win32 platforms?
16-bit BASIC interpreter that comes with Windows 95 and Windows NT),
serious programmers will probably prefer one of the following other
options:
widely-used. OOP, networking, CGI, database, GUI programming.
for the OOP decade.
Language.
packages (see question 4.7).
1.13. Where's Perl for Win32 5.003?
at the 5.003 level. It corrects many of the flaws of the 110 build at the
5.001m level. It's available at
distributions can be found here.
1.14. When I double-click on the "perl.exe" icon in Explorer, I get an empty DOS window with a blinking cursor. What gives?
from the command line, not from Explorer.
editor like Notepad. A good starter program is:
print "Hello, World!\n";
"C:\temp\hello.pl"). Now, start a command prompt window (sometimes
erroneously called a "DOS window"), and type the following line at
the command prompt:
C:\> perl c:\temp\hello.pl
You may have to do some fiddling with the PATH environment variable,
or specify the full path name to perl.exe, in order for this to work.
work a lot easier. See the perlrun documentation page for details.
perl from an Explorer window rather than a command-line window: starting
from Explorer is roughly the same as starting perl without any command
line arguments. When perl is started without a script file specified
on the command line, it expects to receive a Perl program as standard
input, i.e., from the keyboard.
actually type in a Perl program from the keyboard, and then let perl
know to execute it by typing the Ctrl-Z key, which is the end-of-file
marker on Windows systems.
1.15. When I install Perl for Win32, it says I don't have Internet Information Server, and asks if it should still install PerlIS.dll.
When I say yes, it says there was an error. Why?
setting PerlIS up for Microsoft Internet Information Server (IIS) is such
a pain in the keister, install.bat will do it for you automagically.
Win32 on, you should answer "no" when you're asked. A lot of people confuse
"PerlIS.dll" that the message asks about with Perl for Win32 in general.
Thus the problem.
you're the kind of chucklehead who won't sleep knowing that there was an
error during the installation, just run uninstall.bat, then run install.bat
again, and answer "no" instead of "yes". Feel better?
have to set that up by hand. install.bat won't do it for you.


