いくらCPANアップデートしてもPlaggerが動かなかった理由

(追記:これも事故解決しますた)

CPANは/usr/local/share/perl/5.8.8/*を更新してくれるのだけど、実際にPlaggerが使っている(というかPerlが参照する)のは/usr/local/share/perl/5.8.4/*になっているようだ。この設定はどこで変更できるのだろうか。

しかし$perl -vしてみると5.8.8になっているのだから不思議だ。

調べたところ、どうも@INCという配列がPerlの起動時に設定されるらしく、そこからモジュールが検索されるらすい。

%perl -e 'print "@INC"'
/etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl /usr/local/lib/perl/5.8.4 /usr/local/share/perl/5.8.4 .

これをみれば一目瞭然だけれども、5.8.8のモジュールパスと5.8.4のモジュールパスが両方ある。で、同じモジュールがあった場合はどうも5.8.4のそれが優先されるみたいだ。そらあいくらアップグレードしてもなしのつぶてだわな。@INCを好きにいじることはできるし環境変数でもパスを追加できたりするみたいなんだけどもパスを削除する方法はどこにもない(一応あったけど、ちょっとどうしていいのか分からない感じ)。

ちなみにOSはDebian@amd64のtestingです。ボスケテ

…と思ったけど、なんかCPANアップデートしたら直った:

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

ちなみに、これやってるといつまで経っても終わらない:

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