Perl on Windows Best Practices?by KevinZwack (Chaplain)
|on Jul 30, 2012 at 20:15 UTC||Need Help??|
KevinZwack has asked for the wisdom of the Perl Monks concerning the following question:
A little background: In my last job, I developed engineering tools for my colleagues, mostly in Perl (for over ten years, started with Perl 3). Everyone had a SunOS and later Solaris workstation; we had an NFS drive called /tools, and /tools/bin was automatically added to everyone's PATH when they logged in. Life was good, myself and others could add tools, upgrade Perl versions, install or upgrade CPAN modules, etc. pretty transparently to the others users (provided that all tools were tested and any needed changes were made first).
Now I have a similar job at a different company where everyone has a Windows PC, and life is hell. We have some tools written and Perl, and myself and others are advocates of Perl. However, here are some examples of the problems we are running into:
Needless to say, we spend an inordinate amount of time trouble-shooting what I would call "infrastructure" problems, rather than working on the engineering problems at hand. I have pretty much been given carte blanche by management to come up with how our tools infrastructure should be implemented, provided the infrastructure problems are resolved once and for all. So my question is this: what are other people doing that works well to deploy Perl applications in a Windows environment?
I would like to standardize on a single Perl, but which one? (Cygwin, Strawberry, ActiveState?) The existing tools generally require Perl 5.12 or newer. I would like to feel confident that everyone is using the correct version of a tool by putting them in some common network drive location... I could probably get T: reserved for this purpose, provided we give up some of the other drive letters we are using... None of us are strong PC admins, we all have Unix backgrounds. We are stuck with using Windows since many of the products we make run on Windows. Any thoughts?
I have installed the 32-bit Strawberry Portable ZIP version on a network share. I have successfully installed all the CPAN modules we use and performed some basic tests on XP x86/Win7 x64. So far, everything seems to be working fine. I think if I provide our users with .bashrc files that set their environment variables appropriately, hopefully things will work from their xterm sessions. Thanks again for all the great suggestions.