Perl for Win32
One Page to rule them all,
One Page to find them,
One Page to bring them all
And in the Web to bind them.
- P. Korda
(with thanks/apologies to J.R.R. Tolkien)
Where To Get It - Starting Point!
Win32 Development Tools
The Perl Book Buying Guide - New!
General Win32 Resources - Starting Point!
General Perl Resources
How You Can Help
This site is owned by email@example.com.
[ Next Page | Skip Next | List Next 5 | Random Link ]
Want to join the ring? Click here for info
This page started off as a way for me to offer my meager contributions back to
the Perl community. When I looked around for other collections of Perl stuff
for the Win32 port, I came up wanting. Except for the modules on CPAN, there
were no collections out there.
So, I have reworked the pages to reflect the collection aspect. If you are
interested in contributing, find out how you can help out.
In the recent past, there were two different versions of Perl on Win32 platforms,
the ActiveState version based on Perl
5.003 and one built from the core distribution (starting with Perl 5.004).
Out of the oneperl initiative came the merging of many branches of Perl,
incorporating some of the significant advances made by ActiveState into the core
Perl distribution. This has become available to the public in Perl 5.005
(current version of Perl as of this writing [13-Oct-99] is 5.005_03; current
build of ActivePerl is 520).
If you would like the latest version of Perl, you can build it yourself from the
source code, or you can
get an executable from ActiveState,
which they are now calling ActivePerl. Both versions should be compatable with each
other and with most popular Perl modules, like libwww and anything that uses
makemaker, which ActiveState builds have had problems with in the past.
- the "source code" link above may still point to the 5.004_4 code. If it
does, please use this link.
- see Parse Exceptions below for more important info
on using these versions with old modules.
- ActivePerl under Win95 requires DCOM for Windows 95. See the
ActiveState pages for more details.
If you are getting a "Parse Exception" error, you are more than likely mixing
versions between a Perl module and the Perl build. Perl modules that have an
accompanying .pll file need to be compiled for a specific build of Perl for
Win32. If a module does not have a .pll file (i.e. only has a .pm file), then
the "Parse Exception" error should not rear its ugly head.
Perl 5.005 modules are not binarily compatable with Perl 5.004 modules. This
is true for both the ActiveState version and the core distribution (in fact,
it's true for all platforms). Therefor, you will need updated versions of all
modules that you were using before.
Pre-ActivePerl ActiveState builds
Modules compiled for builds 100-105 are all compatible with each other, and
modules 106-110 are compatible with each other. None of the 3xx builds are
compatible with the 1xx builds, and will generate the dreaded "Parse Exception"
errors. From what I understand, builds 303 and 304 are not compatible, but
build 305 will fix that.
FYI- More and more modules can be downloaded via
these days. Give it a try! Also, many of these modules are distributed with ActivePerl
(check out their list).
The links below are directly to the author's site.
- G - provides proper parameter globbing under Windows
- GDBM_File - GDBM_File module Win32
- Template::RTF - a module for processing RTF (Rich Text Format) templates
- Time::HiRes - High resolution time, sleep, and alarm (with limited Win32 Support)
- Win32::AbsPath - converts any valid Win32 relative path to a canonical, full path
- Win32::AdminMisc - modification of the original NetAdmin module
- Win32::ADO - constants for use with ADODB (see Perl/DB FAQ below)
- Win32::AdvNotify - Monitor directory changes
- Win32::API - import and call arbitrary functions in a Win32 DLL
- Win32::ASP - a Module for ASP (PerlScript) Programming
- Win32::ASP::CGI - combines ASP and CGI.pm
- Win32::Clipboard - read, set and destroy the clipboard contents
- Win32::Clock - provides methods to get/set Win32 system clock with 0.01 s precision and also provides Win32 TimeZone information in a friendly form
- Win32::Console - Implementation of the Win32 Console and Character Mode functions
- Win32::CpuInfo - identifies processor in system and returns basic info (speed, MMX, etc.)
- Win32::Dialog - an experimental dialog box interface for Perl!
- Win32::DDE - Dynamic Data Exchange support
- Win32::DriveInfo - Retrieves total/free space on drives, volume names, architecture, filesystem type, drive attributes, lists available drives and free drive-letters
- Win32::DUN - Dial-up Networking support
- Win32::Editor::PFE - Control PFE (Programmer's File Editor) through a DDE link
- Win32::File::Ver - file version information on Win32
- Win32::FileOp - file operations with fancy dialog boxes and much more
- Win32::FileType - provides simple access to the file types and associations
- Win32::GD - Win32 port of Lincoln Stein's interface to Thomas Boutell's gd library (GIF manipulation)
- Win32::GUI - Graphical User Interface extension for Perl (ppm repository) -- also see DBGrid.pl below
- Win32::Internet - supports Microsoft's Internet functions for the HTTP, FTP and GOPHER protocols
- Win32::INotify - Monitor changes to Win32 directories (size,name, security, last_write, last_access, creation, etc.)
- Win32::IpHelp - Get real-time data about TCP, IP, UDP, Sockets, etc.
- Win32::IPerfMon - Get real-time NT system performance data (Processor, Memory, Disk, TCP/IP, RAS, etc.), both locally and remotely
- Win32::IProc - take full control of your threads & processes
- Win32::ISync - implements semaphore, mutex, event and timer objects
- Win32::Lanman - Implements the Microsoft lanmanager API
- Win32::LFN - implements the much-overlooked LongFileName conversion
- Win32::MAPI - implements high-level MAPI calls
- Win32::MemMap - memory maps for sharing between perl processes (and Unix-like shmget,shmread,shmwrite)
- Win32::Message - "net send" or WinPopUp from a Perl script
- Win32::NetAdmin - Dave Roth's slightly altered NetAdmin module
- Win32::ODBC - Dave Roth's famous ODBC module
- Win32::ODBC - A Tutorial - my article which appeared in TPJ #9 (zipped up [~13k])
- Dave's ODBC FAQ - a great place to start
- Perl-Win32-Database FAQ - info on: apostrophes, date/times, stored procedures, row count & ADODB
- Accessing ODBC Datasources through the Web - with examples
- DEC Alpha version
- Win32::Packages - shipped by ActiveState, documented by Philippe Le Berre
- Win32::Perf95 - monitor your Win95/98 OSs (ea:Processor,Threads,Memory,Dial-Up Adapter, etc...)
- Win32::PerlZip - manage Zip files natively in Perl (no longer free)
- Win32::Perms - Manage permissions (ACE's and ACL's) on Win32 objects (files, directories, named pipes, registry keys, etc.)
- Win32::Pipe - named pipes for Win32
- Win32::PortIO - Allows direct acess to I/O ports (0100H to FFFFH)
- Win32::Procctl - control process privileges
- Win32::Process - Create and manipulate processes
- Win32::RasAdmin - RAS Administration
- Win32::Registry2 - extends original Win32::Registry (should be backward compatible)
- Win32::SerialPort - talk to your serial port; let it know you care!
- Win32::SetEnv - creates environment variables in the Master environment (this does not change the calling shell's environment) - New!
- Win32::Setupsup - automate setups which have no silent mode (get window list & window properties and send key strokes like VB's SendKey)
- Win32::Shortcut - create or manipulate shortcut files
- Win32::Sound - Another very little module that lets Perl play system sounds or any .WAV file
- Win32::SPGP - provides an interface to the SPGP.DLL library
- Win32::Tie::Ini - tie .ini files to hashes
- Win32::TieRegistry - ties the Registry to a hash
- Win32::Volume - a simple interface to manage the volume of a computers sound card
- Win32API::Const - contains all the Win32 constants, such as WM_CLOSE, SW_SHOWMAXIMIZED, etc. (for use with Win32::API)
- Win32API::CommPort - Raw Win32 system API calls for serial communications
- Win32API::Registry - Low-level access to Win32 system API calls from WINREG.H
- BatWrap - An improved version of "pl2bat.bat", which wraps perl scripts in batch files.
- cdp - provides Unix cd-like capabilities under WinNT/Win95
- DBGrid.pl - a sample script for Win32::GUI - New!
- IMSAdmin - Complete Web remote administration for the EMWAC Internet Mail Server (IMS). Very similar to the corresponding Control Panel applet.
- Letter2A4 - Walks a directory tree and converts all Letter-sized Word documents to A4
- mail_blat - example which sends mail via blat
- Postino Pro - Create searchable WWW archive of email
- regapp.pl - "Registers" applications or scripts with Win32 OS, so you do not have to type the full path in "run" dialog
- search - Jeffrey Friedl's search script, with Dan Schmidt's Win32 Patch
- Service - start, stop, or cycle NT Services from a Perl script
- whence - provides Unix ksh-like whence command for Win95/WinNT
- The Zone Coaster's Free Scripts - Lots of scripts, all written to run under Win95/WinNT
- Perl Builder - a Perl IDE (Integrated Development Environment)
- Perl Development Kit - Supercedes the stand-alone Activestate Perl Debugger and O'Reilly & Associates Perl Resource Kit and includes the following:
- Perl Debugger - visual debugger
- PerlCOM - a COM object factory
- PerlCtrl - create free-standing COM controls written in Perl
- PerlApp - create free-standing executables
- VPM - Visual interface for PPM
- PerlEx - Plug-in for Win32 web servers to improve performance dramatically
- Perl Scribble - a simple editor for Perl scripts with a GUI
- SynEdit - freeware editor with Perl support
Compression Utilities (.zip and .gz)
- The gzip home page - GNU's zip
- PKWARE, Inc. - pkzip command line for WinNT/Win95
- WinZip: Command Line Parameters
Links to other Win32 Pages
- Perl for Win32 FAQ - Evangelo started it and ActiveState is maintainint it - Must See! Starting Point!
- 15 Seconds - Get the FAQs on IIS (1.0-4.0), ASP, ISAPI and more!
- Perl-Win32-ASP FAQ
- Perl-Win32-Database FAQ - info on: apostrophes, date/times, stored procedures, row count & ADODB
- Perl for IIS 4.0 - a must see if moving from IIS 3.0 to IIS 4.0
- Perl for Win32 Tutorial
- perlscript.rajiv.net - ASP/PerlScript FAQ
- ActiveState - makers of Perl for Win32 (formerly hip communications) - Starting Point!
- dada's perl lab - Aldo's contributions
- Eureka - Adventures in Perl
- Fastnet Software Ltd - great Perl links, especially for ASP
- Genusa.net/asp - General ASP resources
- Perl & Windows NT
- Robin's Perl for Win32 pages
- Win32 module list - from a CPAN site near you
- ActiveState - Subscribing & unsubscribing - there's about 10 of them - Starting Point!
- Perl for NT Admins - New!
- perlscript.rajiv.net - ASP/PerlScript FAQ
- blat! - WinNT console SMTP mail client (NT's answer to sendmail)
- Mail::Sender - Cross-platform SMTP module (no other modules required)
- - other sendmail-type programs, collected by Robin
- SendMail for Windows
- Apache Project - home to one of the Net's most popular, free web servers
- CGI2PerlEx - attempts to convert standard CGI scripts to PerlEx scripts
- GDBM - GDBM library (gdbm.lib) for Win32
- Cygwin - Win32 ports of GNU tools
- Perl2Exe - create standalone exe's from your scripts
- Perl for Win32 Editors - good write-up on lots of (but not all) editors
- Virtually UN*X! - bringing the power of UN*X tools to Windows 95
- WebRSH - provides RSH capabilities via HTTP
- Microsoft Scripting Technologies - formerly Windows Scripting Host
- The Perl Language Home Page
- Perl FAQ - The "official" FAQ, as well as links to other FAQs - Must See! Starting Point!
- CPAN - Comprehensive Perl Archive Network
- FMTEYEWTK - Far More Than Everything You've Ever Wanted To Know (about Perl) Starting Point!
- The Perl Journal - Quarterly magazine devoted to our favorite language
- Perlbook.pdf - the complete Perl documentation in PDF format (current as of Perl5.005_02)
- Perlmonth - a web-based magazine about Perl
- Searchable Perl Man Pages - hosted by the Alliance for International Software Development (not current, but still nice)
- HTMLified Perl 5 Reference Guide - Johan Vromans' Perl5 ref done-up!
- The Perl Institute - non-profit organization, established to support the Perl community
- O'Reilly Perl Conference - August 21-24, 1999, Monterey, CA
Perl Scripts & Links Pages
- libHTML - my answer to CGI/HTML modules.
- Dale Bewley's Perl Scripts and Links - more Perl links, lots of scripts, script archives, books, mailing lists, and more!
- Steffen Beyer - Perl Software for Download - Collection of general scripts and modules
- Perl Power Tools: The Unix Reconstruction Project - impementing most/all Unix commands in Perl
- PERL Reference - comprehensive set of links (including Mac links)
- Yahoo's Perl Page
- Perl Recipes - Joseph Hall's collection of Perl snippets
- PowerPerl - Combines Perl and HTML -- definitely different!
- Randal Schwartz - learn some Perl, now!
- Randal's column reprints - He asks, "As always, *please* respect the
copyrights on these articles (which I do *not* own), and specifically,
do not mirror them somewhere else. If you abuse this, I might lose the
right to publish this stuff at all." But linking to them is fine....
- Unix Review columns
- Web Techniques columns
- FORS - Friends of Randal Schwartz -- learn how you can help
- Intel v. Schwartz - home of the CyberSalem letters
HTML & CGI (Common Gateway Interface)
- An Introduction to Perl - follow the green arrows at the bottom of the page
- Introduction to Perl - or Learn Perl in 2 Hours - a little outdated
- Learning Perl - especially for beginners
- Perl Tutorial - NCSA's online tutorial
- A Quick Intro to Perl - pretty basic but pretty effective
[NOTE: this is not meant to be a comprehensive list, just a jumping off point]
- HTML Help by the Web Design Group - references, validators, FAQs, style guides and more
- The Common Gateway Interface - NCSA's guide to the standard
- CGI - Common Gateway Interface - W3C's guide to the standard
Completely Useless Perl Links - New!
- perl poetix - Perl poetry
- Know of any others like this? Send them to me, please!
You can help out this collection by contributing! If you have a module or a
script that you would like to have others use, let me know about it. If it is
a module, you should also send it off to CPAN to be included there.
This could be the start of something wonderful....
I have tried to make this document presentable under both Netscape and Lynx.
Please let me know how I did. Send these or other comments to:
Live Free, that's the message!
Copyright © Joseph L. Casadonte Jr. 1996-2000. All rights reserved.
Camel & Llama images are trademarks of O'Reilly & Associates, Inc. Used with permission.
One Page poem copyright © P. Korda. Used with permission.
Perl for Win32 / 31 December 2000 / firstname.lastname@example.org