新しいPerlに今まで使ってたモジュールをまとめてインストールする

Perl-5.12.1 がリリースされたということで早速インストールされたかたも多いと思いますが、新しい Perl にモジュールを全部入れ直すのは面倒ですよね。

ExtUtils::Installed を使うと楽ができます。
今まで使ってる perl でインストールされているモジュールの一覧をファイルに落として、新しい perl で cpanm に食わせるだけです。

$ cpanm ExtUtils::Installed
$ perl -MExtUtils::Installed -e 'print "$_\n" for ExtUtils::Installed->new->modules' > modules.txt
$ perlbrew switch perl-5.12.1
$ cpanm < modules.txt

あと、perlbrew でインストールした直後は cpanm も perlbrew も当然ながら入っていないので、すかさず入れておくとよろしいかと。

$ perlbrew install perl-5.12.1
$ wget http://bit.ly/cpanm
$ perl cpanm App::cpanminus App::perlbrew