How can I use perl 5.12 in 10.10?

When writing your own applications, I recommend installing your own Perl. This was once a major pain, but no more. Nowadays, you can use perlbrew to build Perl for you.

On Ubuntu, I think you'll need the build-essential package first, if you don't already. After that, you can use the instructions on the perlbrew docs linked above to install it (or use cpan App::perlbrew).

Once installed you can run:

perlbrew init
perlbrew install perl-5.12.2
perlbrew switch perl-5.12.2

Once you do that and make sure Perlbrew's bashrc is loaded into your bashrc, you should be ale to run:

perl -v

and see that you're running 5.12.


The official perlbrew website is https://perlbrew.pl and it suggests installing by running

wget --no-check-certificate -O - http://install.perlbrew.pl | bash

Then you will still need to

perlbrew install perl-5.12.2
perlbrew switch perl-5.12.2

of course. Finally if you have multiple cores (and who doesn't these days) you can run

perlbrew install -j N perl-5.12.2

where N is the number of jobs requested, often the number of cores you have plus one. I use -j 5 on my quad-core and -j 3 on my dual-core netbook.


Anyway you can easily download last Perl distribution (5.16 or 5.14) and install it:

1. Install Perl

wget http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/perl-5.16.0.tar.gz
tar -xzf perl-5.16.0.tar.gz
cd perl-5.16.0
./Configure -des -Dprefix=$HOME/usr/local
make
make test
sudo make install

then add:

export PATH=$HOME/usr/local/bin/:$PATH

as result you will get:

 $ perl -v 
 $ perl 5.16

Old perl version is still locate here: /usr/bin/perl

new Perl version will be there: /usr/local/bin/perl

2. Work with CPAN modules

I suggest you install cpanminus (cpanm) for easy manage CPAN modules for new version of Perl.

wget http://search.cpan.org/CPAN/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.5017.tar.gz
tar -xzf App-cpanminus-1.5017.tar.gz
cd App-cpanminus-1.5017
perl Make.pl
make
make test
sudo make install

After that you can install CPAN modules for your new version of Perl.