古いPerl環境にインストールされているモジュールを新しいPerl環境に持っていく [Perl]

| コメント(0) | トラックバック(0)

近年、 perlbrew のおかげもあり、様々なバージョンのPerlを気軽にインストールできるようになってきたりしてますが、いざPerlをバージョンアップしたりすると、古い方のPerl環境にインストールしたモジュールを新しいPerl環境にもセットするのがめんどくさいものです。

そんなわけで、古いPerl環境にインストールされているモジュールを簡単に新しいPerl環境にインストールする方法について考えてみた。

新しい環境へのインストールは cpanm に任せるのでいいとして、インストール済みモジュールを列挙する方法を考えてみた。

方法1: perllocal.pod をparseする。

cat `find /path-to-old-perl/lib -name 'perllocal.pod'` | \
  perl -nlE 'say /L<([^|]+)\|.+>/ && $1 if /^=item2/'

うん、めんどくさい。

方法2: ExtUtils::Installed を使う。

ExtUtils::InstalledExtUtils::Install に同梱されているモジュールです。これを使うと簡単にインストール済みモジュールの列挙や検証が出来るらしいです。

perl -MExtUtils::Installed \
  -E '$,=$/;say grep{$_ ne q/Perl/} ExtUtils::Installed->new->modules'

Perlのcoreは'Perl' という擬似(?)モジュール名として得られるらしいので、これは省いておきます。

そんなこんなで古い環境にインストールされてるモジュールの一覧を無事ゲットできたので、後は煮るなり焼くなり

実はもっと簡単な方法が既にあるんじゃないかと思わなくもないけども

トラックバック(0)

トラックバックURL: http://floralcompany.jp/mt/mt-tb.cgi/242

コメントする

AUTHOR

  • turugina (虎王 剱奈)
  • E-mail: turugina {at} floralcompany.jp
  • pixiv
  • ニジエ

2014年5月

        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

アーカイブ

OpenID対応しています OpenIDについて
Powered by Movable Type 5.2.10

- 警 告 -

本サイトにはいわゆる「18禁画像」(イラスト)へのリンクが存在します。 未成年の方や、その手の画像に不快感を覚える方は、 該当記事(「えちぃの」及び「ちょっとえちぃの」カテゴリ) をご覧にならないようお願いいたします。

上記を理解した上で非表示のブログパーツを表示する
あわせて読みたいブログパーツ
ついった
drawr/pixiv/twitpic