in reply to RFC (tutorial): "Vendor code, Your code", PERL5LIB

You might also mention that many people prefer to have a separate installation of perl from the one installed with the OS in /usr/bin/perl (or what not) in order to decouple OS upgrades and what modules or versions that requires from what versions your application runs against. See for example Management of perl modules in enterprise? (that's the first hit I'm getting for obvious search terms, but it's come up before).

  • Comment on Re: RFC (tutorial): "Vendor code, Your code", PERL5LIB

Replies are listed 'Best First'.
Re^2: RFC (tutorial): "Vendor code, Your code", PERL5LIB
by doom (Deacon) on Dec 05, 2007 at 23:38 UTC

    Yes, I think this is a really important issue, but possibly this doesn't go far enough. It's not hard at all to run into situations where you need to run many versions of perl on the same box, each of which may need it's own set of modules. For example, consider a web developer's linux workstation, where you might want:

    1. the distribution's version
    2. the version on the web servers
    3. a candidate for the next web server upgrade
    4. the latest released version
    5. blead perl

    A tutorial describing a few (preferably very few) ways of dealing with this administration problem would be very useful.

      The easiest is to recompile perl to different locations. For example:
      # extract perl distribution and then: sh configure.gnu --prefix=/usr/perl5.10.0 make all test && sudo make install

        While installing a Perl module in my home directory, I initially specified "--prefix", instead of "PREFIX", which of course tried to install things outside of the home directory. I tried that once more ending with the same problem. Error of my memory was corrected by reading one of INSTALL or README files.

        Needless to say, that was result of being more in touch with configure scripts (as a user) than with module installations. Also, I should have read INSTALL & README even if I have installed Perl modules many times.