Perlは大抵の環境にはじめから入っているので大変便利なんだけども、Perlのバージョン含めていろいろとコントロールしたいニーズもあったりすると思います。
例えばRedHat系のLinuxだとyumとかで何かのパッケージを入れるときに、CPANモジュールもrpmで入ってしまったりなどして、システムのPerlべったりにものを作るとあとあと面倒なことになったりすることもあるかもしれません。
そんなときには、アカウントに閉じたPerlの環境を作ってしまうのがよいでしょう。
今回はCentOS5.3(x86_64)でのやり方。(CentOS5.3のPerlって5.8.8と古いので丁度いいかなと思う)
hogeというユーザでやる事を想定します。
1.とりあえずperlをビルドしたりする場所を作る今回は「~/local/perl」とかにしときます。
まず、Perlのソースコードを落としてくるディレクトリを作っときます。
~/local/srcとかでいいでしょう。
$ mkdir -p ~/local/src
2.Perlのダウンロードとインストール
$ cd ~/local/src
$ wget http://www.cpan.org/src/perl-5.10.1.tar.gz
$ tar zxvf perl-5.10.1.tar.gz
$ cd perl-5.10.1
$ sh Configure -Dprefix=$HOME/local/perl-5.10.1 -Dusethreads -Dusemultiplicity -Duse64bitall
$ make
$ make test
$ make install
$ ln -s ~/local/perl-5.10.1 ~/local/perl
これで~/local/perl/bin/perlとか打てば呼べるようになります。
3.PATHに追加インストールできたとはいえ、いちいち~/local/perl/bin/perlとか呼ぶのはめんどくさいです。
そういうときは環境変数PATHに~/local/perl/binを追加しときましょう。
下記行を~/.bashrcとかに入れとけばOKです。
export PATH="$HOME/local/perl/bin:$PATH"
とりあえずログアウトしてログインするか、sourceコマンドで環境変数に反映させときましょう。
4.おわりにここまでやっとくと、hogeユーザにおけるperl関係のコマンドは全部~/local/perl/binの方が優先して使われるようになります。
なので、cpanコマンドとかも/usr/bin/cpanとか明示しない限りは~/local/perl/bin/cpanが使われ、hogeユーザでインストールしたcpanモジュールは~/local/perl/libに入るようになります。
また、この辺は重要なポイントの一つですが、コマンドラインから使うPerlスクリプトを書くときにはshebang行に「#!/usr/bin/perl」とか書くと思いますが、今回のように独自にインストールした場合には「#!/usr/bin/env perl」と書いておくようにしましょう。
(#!/home/hoge/local/perl/bin/perlでもいいです)