HOW TO SET UP A LOCALLY-INSTALLED WIN32 PERL WITH NETWORKED ADD-ON MODULES
Go to the ActiveState web site (http://www.activestate.com/) and download the latest Perl-Win32 binary package. Install it to a standard area such as C:\Perl. Choose any or none of the install options (PerlISAPI, register the .pl extension, etc.) as you prefer.
Create a network share, preferably on a UNIX machine running Samba/TAS or a NAS device. We'll say it's called \\fileserver\perl. It does not need to be writeable from Windows clients (e.g. you can set "Read only = Yes" in smb.conf).
Set the user environment variable PERL5LIB=//fileserver/perl/site/lib. Alternatively, if you don't want to require this per-client EV setting, each perl script can contain the line
use lib '//fileserver/perl/site/lib';
which will have the same effect. This use statement should precede all others.
Now, modules installed into that network share will be available to Perl programs run on the Windows clients. The best way to handle this, assuming you have a UNIX Perl install as well, is to make the \\fileserver\perl\site\lib area just a tree of symlinks which point into the UNIX site-specific module tree. For instance, in my setup I have a symlink
Which means all modules in the ClearCase:: hierarchy are taken from the UNIX install. You can, of course, symlink individual files as preferred.
For this to work, your SMB solution must be configured to follow symlinks. For Samba this is the default, for Network Appliances it's an option which must be turned on explicitly, and I don't know about TAS.
NetApps have a restriction - a symlink will not be followed unless it's within the same share. This appears to be deliberate though I'm not sure why. If your UNIX Perl install is also located on the NetApp and served by NFS, which is generally the point of having a NAS device, you should be able to configure things to get around this.