Perl on Windows
|
|
|
|
|
|
Although Perl may have been born
and raised in the Unix universe,
the world's favorite practical
extraction and reporting
language has had, and has had
for some time, an established
home on Windows.
Led by such companies as
ActiveState, Perl has grown
steadily since mid 1995, adding
both standard Perl
functionality, as well as a host
of Windows-specific
functionality such as OLE and
COM integration.
In fact, by now, any Perl
developer can feel confident
that the applications she writes
on UNIX-based servers will run
without hitch when moved to
Windows-based servers. Even
long-time porting nightmare
problem cases such as the
implementation of fork
are being solved.
And there is reason to
believe that
Perl/Windows-integration will
continue. That Microsoft itself
is committed to supporting Perl
is demonstrated by the fact that
Microsoft has been a major
funder of Perl on Windows
development since development
began. In fact, with the recent
signing of a three-year funding
agreement between Microsoft and
ActiveState, there is no doubt
Perl will be an integral part of
Windows going forward.
|
|
|
Whether you are simply wishing
to begin an investigation of the
core language and your platform
happens be Windows or whether
you wish to look at
specific-Windows integration
tools such as 1) OLE [ object
linking and Embedding ] with
PERL, 2) control of the Windows
registry via PERL, 3) using PERL
to write COM [ Component Object
Model ] objects, 4)
communicating with pre existing
COM objects from PERL, or 5)
facilitating data aware pages
via the PERLscript and IIS [
Internet Information Server ],
your starting point remains the
same - the installation of PERL
on Windows.
This article is intended as a
guide to that process. Future
additions will delve more deeply
into the Windows-specific
capabilities of Perl.
Before you start though, we
have one warning. Installing
Perl is not a "click here and
you're done" process. In fact,
packaging Perl for Windows is an
iterative process. Because Perl
is an incredibly active, vibrant
and living language, not only
does the core language itself
undergo changes and new releases
periodically, but the thousands
of your fellow Perl developers
constantly release new, free
tools through archives such as
CPAN. Thus, "installation"
includes regular upgrades and
your active attention to the
world of Perl.
As we mentioned earlier, the
organisation at the heart of
Perl for Windows is ActiveState,
and their home page is located
at:
http://www.activestate.com
Perl for Windows is available
from the ActiveState site as a
product called ActivePerl. At
the time of this writing,
ActivePerl is in release 522 and
can be downloaded directly from
http://www.activestate.com/ActivePerl/download.htm.
Windows users will want to
download the Intel release,
and as the download page notes,
those who are installing the
package under Windows 95 require
DCOM for Windows, Available from
the Microsoft Site. Whether you
download the package using HTTP
or FTP does not really matter.
Either way, you'll get what you
are after.
When you are done
downloading, you'll have a
self-extracting executable such
as the file Api509e.exe shown in
the figure below. To begin the
installation process, just
double click the file.
It is important to note that
the installation of ActivePerl
may not proceed correctly if
your system has a previously
installed version AND that
version is in use by a process
at the time you commence your
installation. If that is the
case, you may be presented with
a warning dialog box.
If this happens, you should
exit the installation process
immediately. Close any
services/applications that may
be using Perl and try again.
|
If you are having
trouble locating
Perl-based services and
you happen to be using
Windows NT, you can get
help by using:
Start->Settings->Control
Panel->Services
Look through the list
of services running on
your machine to see if
you can find one that
may currently be using
Perl. Terminate it/them,
and then recommence your
installation.
|
Most users of course will not
have to worry about this
problem. In fact, most likely,
if you double clicked the
self-extracting executable, you
will now see the ActiveState
license agreement.
After you have read and
accepted the license, you will
be presented with the
"Installation Notes" screen.
This screen informs you of all
the different installation
options that are available with
ActivePerl. This page has a
number of different headings,
and some explanation regarding
each.
The headings include:
Add
the Perl bin directory to your
path
Associate
'.pl' with Perl.exe in Explorer
Associate
'.pl' with Perl.exe for your Web
server(s)
Associate
'.plx' with Perl for ISAPI in
IIS
It then asks if you have read
and understand the notes. Let's
make sure that you do!
|
|
 |
Add the Perl bin
directory to your path
|
 |
|
|
|
|
Oftentimes, it is convenient to
be able to run the Perl
executable from within a DOS
session without having to
explicitly specify in which
directory Perl is installed. For
example, suppose you just want
to be able to type:
perl scriptname.plx
from the command line rather
than having to type:
c:\perl\bin\perl.exe
scriptname.plx
In order to do that, you need
to let your computer know where
perl.exe is located. And in
order to do that, you need to
modify the PATH environment
variable. In this section, Perl
is letting you know that it is
going to automatically modify
the PATH variable on your
behalf.
|
Note that by
including the Perl "bin"
directory in your path
also means that your
computer will
automatically know where
other related programs
are as well such as
perldoc.
|
However, you should note the
significance of the statement
"...all other Perl directories
to be removed from the PATH.".
Bear in mind that after this
installation, you will have to
add to the path the location of
any different installations of
Perl that you may wish to use
concurrently. However, most
users will be satisfied with a
single installation and will not
need to worry about this.
|
|
 |
Associate '.pl' with
Perl.exe in Explorer
|
 |
|
|
|
|
This note is relatively
self-explanatory. This option
means that every time you double
click on a file suffixed ".pl"
in Windows explorer, your
machine will use the Perl
interpreter to execute the file.
The behaviour you will see is
that a "Command Prompt" window
will appear, and the Perl script
will be executed within it.
The practical effect of this
can be seen after you have
completed your installation of
Perl.
|
|
 |
Associate '.pl' with
Perl.exe for your Web
server(s)
|
 |
|
|
|
|
Associating the .pl extension
with the Perl interpreter in
Windows Explorer is convenient
for you as a developer because
you can more easily run scripts.
However, if you are a web
developer, you also need to
associate the extension from the
point of view of the web severs
you are using. That way, the web
server will have a better idea
of what a Perl script is.
On a systems level,
associating the extension with
Perl.exe for your web server
means that the installer will
edit your windows registry that
will instruct IIS to associate
scripts with a ".pl" extension
as being suitable for execution
by the Perl interpreter.
More importantly, the
standard error and standard
output generated by Perl scripts
will be printed directly to the
browser. This is a core feature
from the point of view of
writing CGI [ Common Gateway
Interface ] scripts.
|
|
 |
Associate '.plx' with
Perl for ISAPI in IIS
|
 |
|
|
|
|
The effect of this installation
option is that the execution of
Perl scripts through the web
server will be optimised. ISAPI
stands for Internet Server
Application Programming
Interface.
The way that the execution of
Perl scripts by the web server
usually works is that as a
preliminary step to the
execution of the script, the web
server has to actually load the
Perl interpreter into memory. It
does this every time the CGI is
called.
The use of ISAPI means that
the web server has access to the
Perl interpreter bundled as a
runtime DLL that can be loaded
once by the web server. Once
loaded the interpret will
persist in memory and not need
to be reloaded for subsequent
CGI calls. This functionality is
only available if you have
installed a web server that
implements the ISAPI.
There are security/stability
implications associated with
running Perl in the same thread
of execution as the web server
[as opposed to starting a
separate process to load the
Perl interpreter and execute the
CGI ]. However, aside from
mentioning them, these matters
are outside the scope of this
article.
An associated point is that
loading the Perl interpreter as
a persistent DLL in the web
server makes it even more
important to close down IIS
prior to installing a new
version of ActivePerl.
|
|
 |
Choosing an Installation
Directory
|
 |
|
|
|
|
Answering "yes" to the
"Installation Notes" screen will
advance you to the "Choose
Destination Location" Screen.
This screen allows you to
select a root directory for the
installation of Perl. The choice
is entirely yours, but the
default path is to be
recommended from the point of
view of installing subsequent
versions of ActivePerl over the
top of old versions.
One thing to note is that if
you wish to regularly move Perl
scripts between UNIX and Windows
servers, it might be a good idea
to create a "c:\usr\bin"
directory and copy the contents
of the c:\Perl\bin" directory
into it. That way, you can use
the same Perl header line in all
your Perl scripts.
#!/usr/bin/perl
|
|
|
|
Once you have specified the
installation path, you will be
asked to choose which ActivePerl
components you would like
installed.
Most of these options have
been explained above. However,
we have not yet talked about
PerlScript.
The PerlScript component
gives you the ability to write
web pages that contain embedded
Perl code that the web server
will be able to execute. In
other words, you will be able to
write ASP pages in PERL.
|
|
|
|
The next screen will query you
regarding the addition of Perl
bin to your path and the
association of .pl files with
Perl.exe in Windows Explorer and
the web server.
We have already covered these
topics above. Just notice that
you can uncheck any of the boxes
that you are not comfortable
with.
|
|
 |
Adding Perl to the Start
Menu
|
 |
|
|
|
|
Next, the ActivePerl installer
will create an icon on your
Start menubar for its associated
functions. This screen helps you
select where you want this icon
to be created.
|
|
|
|
Finally, the installer will
provide a summary screen as a
final check and ask you if it is
okay to begin the installation
process.
Clicking next will begin the
installation process. Just wait
while the installer does its
work.
After the installation is
complete, and you have/have not
read the release notes, start a
command prompt (DOS Shell)
window. If typing "perl -v"
prints out a message containing
version information about your
installation of Perl, then the
installation process is
successfully complete.
|
|
|
|
If you are a new Perl developer,
you can get an excellent
introduction to standard
cross-platform Perl programming
at
The Introduction to Web
Programming Tutorial and at
The Introduction to Perl 5
Tutorial.
Otherwise, here is a quick
demonstration of a very simple
perl program written using
Notepad and run from the DOS
Shell.
|
|
|
|

|
|
[Unable to fetch data] |
|