Webserver Notes
Perl 5.6 (ActiveState) - win32
Perl is by far the most versatile and generally impressive language that I have yet worked with, including the best aspects of so many other languages in its functionality. Perl can be used to perform just about any task from a 'one-shot' command line action to a full scale suite of applications.
Using the CGI module Perl is ideally suited to CGI programing which make it by far the most used language in this field, 'the duct-tape of the Internet'.
The DBI module allows Perl to interface with databases, again providing the programer with considerable resources. Perl combined with the CGI and DBI modules and the MySQL database in the background are all that is needed for online databases, order management systems, archives, indexes, online transactions, accounting, product catalogues and so on.
For more about the history and general what's what of Perl see: »http://www.perl.org/about.html
Although Perl is an essentially unix derived language it has proved its worth such that someone was willing to port it for Win32 platforms and freely distribute it. You can download the win32 Perl package from ActiveState. You need at least version 5.0, ActiveState have the tried and tested Perl 5.6.1 in two formats:
- The MSI (Microsoft Installer) version is 8.5Mb and requires Windows Installer version 2.0+
- The AS (As Supplied?) version is 8.3Mb
Both versions contain the full Perl package which itself includes full
documentation and are available from:
»http://www.activestate.com/Products/Download/Download.plex?id=ActivePerl
For detailed installation instructions see:
»http://aspn.activestate.com/ ASPN/docs/ActivePerl/install.html #installing activeperl on windows (x86)
Functional Differences Between win32 and Unix Hosts
I have only found two specific functional differences between Perl on my live host servers running Linux and my development environment under Win32.
Firstly Win32 does not have full support for the system
command or
expanding back-ticked commands. However this is not required for CGI programing
so it should not cause you any problems.
The second issue is slightly more problematic, the
'shebang' line is different for Windows. Rather than the more
conventional unix shebang of: #!/bin/perl
you will need to use:
#!perl
and have the c:\perl\bin
directory in your
path. I have read elsewhere that the shebang line is not required at all
under Win32 but this has not been my experience! The programs do not work
without it as they are executed according to Apache's CGI handlers which require
the shebang line to identify the interpreter.
To avoid problems on upload the required lines can be changed by a perl script called within DOS batch routine upload utility...
It is possible to set Apache to execute the programs via the Windows Registry settings, ie it looks up the file extension and hands the job off to Windows. However this is not a very stable or secure way to configure Apache so don't!