HOW TO SET UP A NETWORKED WIN32 ACTIVESTATE PERL

Note

UNIX perl builds actually compile the value of @INC into the binary perl program, so moving it would require recompilation or binary editing. ActiveState Win32 perl, however, has a feature such that it autodiscovers its install location at runtime. Thus, though reloc_perl is capable of modifying binaries, on AS Windows builds it will only need to modify text files such as Config.pm. Actually, I'm not sure if this autodiscovery is a property of AS perl or a feature of all recent (5.6.1+) Perls.

Maintenance

If using this in combination with an SMB interop solution such as Samba, and assuming you have a UNIX Perl instllation too, module maintenance can be greatly eased by creative use of symlinks. Let's say you make use of the ClearCase::ClearPrompt module. First install that to your UNIX perl. Let's say it ends up in /usr/local/lib/perl5/site_perl/5.6.0/ClearCase/ClearPrompt.pm. Now, on the UNIX box, go to your Win32 perl install area and symlink .../site/lib/ClearCase to /usr/local/lib/perl5/site_perl/5.6.0/ClearCase. From now on you can install updates to this module (or in fact to any modules in the ClearCase:: namespace) and they'll automatically apply to the Windows perl as well. You can symlink individual files or whole hierarchies as preferred.

To run scripts with a networked Win32 perl, I do not recommend using pl2bat or registering the .pl extension. Both of these present maintenance headaches. Instead, I use a tiny redirector program as follows:
@echo off
\\server\perl\bin\perl \\server\share\program %*
If you play your cards right this can point to the exact same script you use on UNIX. I.e. \\server\share\program can be SMB access to the same file accessed via UNIX NFS as (say) /usr/local/bin/program. Now when you update the UNIX script it will take effect on Windows automatically. The redirector itself should never need maintenance because it's 100% boilerplate.

Configuring and using the CPAN module or PPM (the ActiveState install mechanism) is left as an exercise for the reader. Be aware that both need some special config within firewalls.