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
  that you don't get, try one of the above resources.
   The main Perl interpreter available for the Win32 platform is Perl for
  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.
   The Perl for Win32 package includes perl, PerlIS, and several
  Win32-specific modules developed by ActiveWare.
   A beta version of Perl for Win32, which is at the perl 5.003 level,
  is also available.   See question 1.13.
   Another implementation is the perl port in the MKS Toolkit from
  Mortice Kerns Systems, Inc. (http://www.mks.com/). This is a package
  that includes numerous other UNIX-originated tools.
   Another version is available compiled for OpenNT for Microsoft
  Windows NT (http://www.softway.com/OpenNT/tw/contrib.html). 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.
   [Any other implementations that should be mentioned here? - ESP]
   The standard perl distribution is mainly geared for UNIX systems. The
  configuration scripts are in UNIX shell language. It is therefore not
  a simple task to build perl from the standard distribution.
   However, it has been done.  Karl Martin Syring has built perl with
  the GNU-Win32 development system.  His port is available at:
   http://www.edv.agrar.tu-muenchen.de/~syring/gnu-win32/perl.zip
   To build this, you'll need GNU-Win32, which is available from Cygnus
  Support (http://www.cygnus.com/misc/gnu-win32).
   Gary Ng has ported perl to be compiled with Microsoft Visual C++.
  His port is available at this address:
   http://www.endcontsw.com/pub/perl_win32.zip
   To build it, unzip the distribution file into a win32 subdirectory
  of your perl directory (from the standard distribution -- like the
  os2 subdirectory).
   The Perl for Win32 package is available as a ZIP archive by anonymous
  FTP from ActiveWare and from CPAN, the Comprehensive Perl Archive
  Network.
   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
  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.
   To download files from CPAN, go to the following URL:
   http://www.perl.com/CPAN/ports/win32/Perl5/perl5.001m/CurrentBuild/
   Note that this will automatically redirect you to your nearest CPAN
  mirror site.
   Because the Perl for Win32 package contains long file names (LFNs),
  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:
   To extract the archive, make a new directory on your hard drive that
  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.
   The source code package includes make files for Visual C++ versions 2.x
  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]
   The source distribution only includes Intel targets. If you're building
  for another platform, like DEC Alpha, you may have to fiddle with the
  build settings to get them to work. [Anyone done this? -ESP]
   First, make sure you unzipped the archive correctly into the destination
  directory. Then, open the perl100.mdp project file in the dll-src
  subdirectory of your perl directory with Microsoft Developers Studio.
   Build the "perl100 - Win32 Perl Intel DLL Release" target (Go have some
  lunch -- this will take a while). You'll end up with a perl100.dll file
  in your ntt subdirectory of your perl directory.
   Now, open the perl.mdp project file in the exe-src subdirectory of your
  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.
   Optionally, you can build the extension files that come with the source
  distribution. These include:
   Note that the extensions look for perl100.lib in the dll-src\Release
  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.
   Building the extensions will put the extension binaries (.pll files) in
  the proper place in the Lib subdirectory.
   The last step is running install.bat, a perl program masquerading as a
  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.
   If you installed in a directory with long file names (like
  "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.
   Installing Perl for Win32 adds the following keys to your registry, if
  they don't already exist:
   The BIN and PRIVLIB values are probably used in the perl interpreter to
  find files for loading. The purpose of the HTML-DOCS value is unclear.
   Installing also adds your perl binary path to the PATH variable for your
  system, as well as "." (current directory), for historical reasons.
   Also, if you have Microsoft Internet Information Server (IIS) installed,
  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.
   You are not able to uninstall Perl for Win32 from the Add/Remove
  Programs section of the Control Panel (if you have such a section).
   In your original perl directory, there is a file called uninstall.bat.
  Use this to clear out the registry settings created by install.bat.
   uninstall.bat does not delete your Perl for Win32 files for you. You can
  do this manually with Explorer, File Manager, or
  "del [perl directory]\*.* /S /Q", where [perl directory] is your perl
  directory.
   Active Scripting is a new technology put out by Microsoft Corporation to
  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.
   Yes.  On December 4, 1996, ActiveWare released a beta version of
  PerlScript, an ActiveScripting engine for the Perl language.
   ftp://ftp.activeware.com/beta/PlSEi302.exe
   or on CPAN at
   http://www.perl.com/CPAN/ports/win32/Perl5/beta/PlSEi302.exe
   You'll also need to download either the Perl for Win32 5.003 binary or
  source format package in the same directory (see question 1.13).
   There's no documentation to speak of, but there are several examples.
  ActiveScripting works a lot like OLE Automation, so if you review
  that documentation, plus the ActiveScripting documentation, you should
  be able to get along.
   Although it's possible to program in batch language or with QBASIC (a
  16-bit BASIC interpreter that comes with Windows 95 and Windows NT),
  serious programmers will probably prefer one of the following other
  options:
   Awk and UNIX shell languages are available from in several UNIX-to-NT
  packages (see question 4.7).
   [Any others? -ESP]
   On December 4, 1996, ActiveWare released a beta version of Perl for Win32
  at the 5.003 level.  It corrects many of the flaws of the 110 build at the
  5.001m level.  It's available at
   ftp://ftp.activeware.com/Perl-Win32/beta/
   or on CPAN at
   http://www.perl.com/CPAN/ports/win32/Perl5/beta/
   There are four beta packages:
   Neither PerlIS (see question 2.2) or any of the RISC processor
  distributions can be found here.
   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
  from the command line, not from Explorer.
   If you want to run a Perl script, write the script out using a text
  editor like Notepad.  A good starter program is:
   Save the program to a file on your hard disk (such as
  "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:
   This should print out the words "Hello, World!" on the screen.
  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.
   perl.exe has a lot of nifty command-line arguments that can make your
  work a lot easier.  See the perlrun documentation page for details.
   To answer the original question about what's happening when you start
  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.
   The blinking cursor means perl is waiting for your input.  You can
  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.
   PerlIS.dll is a special interpreter for Perl (see question 2.2).  Because
  setting PerlIS up for Microsoft Internet Information Server (IIS) is such
  a pain in the keister, install.bat will do it for you automagically.
   However, if you don't use IIS on the machine you're installing Perl for
  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.
   If you get this error, ignore it.  Perl programs should run just fine.  If
  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?
   If you want to use PerlIS.dll with another ISAPI-enabled Web browser, you'll
  have to set that up by hand.  install.bat won't do it for you.
1.2. What Perl interpreters are available for the Win32 platform?
1.3. Can I build perl myself from the standard distribution source code?
1.4. Where is the Perl for Win32 interpreter available?
1.5. How do I unzip the Perl for Win32 package?
1.6. How do I build Perl for Win32 from the source code package?
1.7. OK, I've got it downloaded, unzipped, and optionally built. Now what?
1.8. What does installing do to my registry?
1.9. How do I uninstall Perl for Win32?
1.10. What is ActiveScripting?
1.11. Is there an ActiveScripting version of Perl available?
1.12. What other scripting languages are available for Win32 platforms?
1.13. Where's Perl for Win32 5.003?
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?
    print "Hello, World!\n";
    C:\> perl c:\temp\hello.pl
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?
Last-modified: Mon, 24 Mar 1997 05:44:13 GMT