Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

Dear Monks,

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:

  1. About half the PCs are XP/x86, and the other half are Windows 7/x64. Some CPAN modules work on x86 but not x64 (e.g., Win32::SerialPort).
  2. Most people have CYGWIN installed, as we make extensive use of xterm windows, plus there are a lot of Bash scripts (although once people learn Perl, they much prefer it). People also have Strawberry Perl installed, and having both on the same machine creates a lot of confusion.
  3. We do not have a central repository for executing tools (let alone SCM, but that's other topic). We have various automated test runners, but file paths like \\server\foo\bar don't work. For some reason, they need paths like X:\bar to operate correctly. So various tools are mapped to various drive letters, but obviously this isn't a scalable solution, and not all drive letters are available on all PCs.
  4. When we hire new employees, they generally get a new PC, and are told to install this and/or that Perl and a long list of CPAN modules which may or may not build correctly in their environment.
  5. Our IT department is more hostile then helpful, so we cannot expect them to "push" anything out to PCs, or common login scripts, etc.
  6. They tried deploying a virtual machine image with all the tools in place, but everyone hated that. Plus it made upgrades difficult.

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?

Update 8/1/2012

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.


In reply to Perl on Windows Best Practices? by KevinZwack

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others musing on the Monastery: (3)
As of 2024-04-18 22:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found