Perlを5.10.0へバージョンアップ

CentOSPerlを5.8.5から5.10.0へバージョンアップすることにした。

# wget http://www.cpan.org/authors/id/R/RG/RGARCIA/perl-5.10.0.tar.gz
# tar zxvf perl-5.10.0.tar.gz
# cd perl-5.10.0
# sh Configure -des -Dusethreads -Dinc_version_list=none ←前バージョンの環境を引き継がない
# make
# make test
# make install

インストールはさくっと完了。ただ、インストール先が /usr/local/bin/perl
元々入っていたperlの場所は /usr/bin/perl なので、前のものをリネームしてシンボリックリンクで対応。

# perl -v
This is perl, v5.8.5 built for i386-linux-thread-multi ←古いのが動いてる

# which perl
/usr/bin/perl

# cd /usr/bin/perl
# mv perl perl-5.8.5 ←古いのをリネーム
# ln -s /usr/local/bin/perl . ←新しいのをシンボリックリンク
# perl -v
This is perl, v5.10.0 built for i386-linux-thread-multi ←新しいのが動いた

CPANモジュールを一気にバージョンアップするには、

# perl -MCPAN -e "CPAN::Shell->install(CPAN::Shell->r)"

でいけたっぽい。
最初はperlコンパイル時の設定を

# sh Configure -des

としたんだけど、これだと@INCに前環境(/usr/lib/perl5/site_perl/5.8.5など)が引き継がれてしまい、後のCPANモジュールのバージョンアップでエラーが出てしまった為引き継がない設定に変更した。