綾小路龍之介の素人思考

[perl] ロードされたモジュールのパスを調べる

perl モジュールが色々なところにインストールされて、複数のバージョンがひとつのシステムに混在する場合がある。こんなときにロードされたモジュールのパスを知ることが出来ると便利。

ロードされた perl モジュールのパスは連想配列 %INC を参照することで判る。配列の @INC ではないことに注意。perl では連想配列と配列は別の名前空間にあるので。以下のような 1 行スクリプトを書くとモジュールがロードされたときのパスをチェックすることが出来る。

$ perl -MData::Dumper -le "print Dumper {%INC}"
$VAR1 = {
          'Data/Dumper.pm' => '/usr/local/lib/i386-linux-gnu/perl/5.20.2/Data/Dumper.pm',
          'Carp.pm' => '/usr/local/share/perl/5.20.2/Carp.pm',
          'overloading.pm' => '/usr/share/perl/5.20/overloading.pm',
          'overload.pm' => '/usr/share/perl/5.20/overload.pm',
          'strict.pm' => '/usr/share/perl/5.20/strict.pm',
          'Exporter.pm' => '/usr/local/share/perl/5.20.2/Exporter.pm',
          'warnings.pm' => '/usr/share/perl/5.20/warnings.pm',
          'bytes.pm' => '/usr/share/perl/5.20/bytes.pm',
          'warnings/register.pm' => '/usr/share/perl/5.20/warnings/register.pm',
          'XSLoader.pm' => '/usr/share/perl/5.20/XSLoader.pm',
          'vars.pm' => '/usr/share/perl/5.20/vars.pm',
          'constant.pm' => '/usr/share/perl/5.20/constant.pm'
        };

リファレンス

  1. ロードパスを表示する 【Perl CGIプログラミング入門】
  2. モジュールの読み込みの仕組みを理解する - サンプルコードによるPerl入門

ソーシャルブックマーク

  1. はてなブックマーク
  2. Google Bookmarks
  3. del.icio.us

ChangeLog

  1. Posted: 2010-01-16T15:13:10+09:00
  2. Modified: 2010-01-16T15:13:10+09:00
  3. Generated: 2017-01-07T23:09:45+09:00