Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I have an app that currently runs on perl5.8 that I would like to upgrade to perl5.10, if not 5.11.

The only problem is we run Ubuntu LTS everywhere that I'd need to deploy this to.

From what I've read installing perl 5.10 on top of perl 5.8 can lead to problems with loading the wrong version of modules among other confusion.

Is there any recommended way to get to modern perl on LTS?

share|improve this question
    
5.11.1 is development version - don't use it in production. Best version to upgrade is 5.10.1. –  user16526 Oct 27 '09 at 13:11
    
I think there was a similar question on stackoverflow.com –  Brad Gilbert Nov 6 '09 at 23:03

1 Answer 1

up vote 2 down vote accepted

You've got two options: Compile a local version and put it in /opt or /usr/local/, or backport the perl packages from a later release. Unless you've got experience creating Debian packages, the former is going to be easier; this answer and some of the others to that question have more details. In particular, give the perl 5.10 binary a unique name like perl5.10.0 so you have to explicitly call it and the system packages don't run it by mistake.

share|improve this answer
    
That's how to do it. +1 especially for mentioning giving the new perl binary a different name to avoid clashing with the system perl. –  sleske Oct 26 '09 at 9:02
    
Putting it in a different directory, not on the customary local path setup, is also giving it a different (fully qualified) name. E.g. - /usr/local/perl5/bin/perl or something similar. Of course, scripts should be using a "#!" line (with absolute path), rather than relying on the path to stumble upon something, possibly nefarious. –  Roboprog Dec 4 '09 at 15:42

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.