読み込んでいるモジュールの場所を知る方法

標準じゃないモジュールの場所が知りたい

プロジェクト固有のモジュールを使ってるときに、そいつの場所を知りたいときがある。

%INC に入っています。

#!/usr/bin/perl
use strict;
use warnings;
use FindBin;
use Data::Dumper;

print Dumper \%INC;

上記のスクリプトを実行すると、下記の出力が得られます。

$VAR1 = {
          're.pm' => '/usr/lib/perl5/5.8.8/i386-linux-thread-multi/re.pm',
          'XSLoader.pm' => '/usr/lib/perl5/5.8.8/i386-linux-thread-multi/XSLoader.pm',
          'warnings/register.pm' => '/usr/lib/perl5/5.8.8/warnings/register.pm',
          'warnings.pm' => '/usr/lib/perl5/5.8.8/warnings.pm',
          'Cwd.pm' => '/usr/lib/perl5/5.8.8/i386-linux-thread-multi/Cwd.pm',
          'File/Basename.pm' => '/usr/lib/perl5/5.8.8/File/Basename.pm',
          'Config.pm' => '/usr/lib/perl5/5.8.8/i386-linux-thread-multi/Config.pm',
          'Carp.pm' => '/usr/lib/perl5/5.8.8/Carp.pm',
          'bytes.pm' => '/usr/lib/perl5/5.8.8/bytes.pm',
          'File/Spec/Unix.pm' => '/usr/lib/perl5/5.8.8/i386-linux-thread-multi/File/Spec/Unix.pm',
          'strict.pm' => '/usr/lib/perl5/5.8.8/strict.pm',
          'Exporter.pm' => '/usr/lib/perl5/5.8.8/Exporter.pm',
          'vars.pm' => '/usr/lib/perl5/5.8.8/vars.pm',
          'File/Spec.pm' => '/usr/lib/perl5/5.8.8/i386-linux-thread-multi/File/Spec.pm',
          'overload.pm' => '/usr/lib/perl5/5.8.8/overload.pm',
          'FindBin.pm' => '/usr/lib/perl5/5.8.8/FindBin.pm',
          'Data/Dumper.pm' => '/usr/lib/perl5/5.8.8/i386-linux-thread-multi/Data/Dumper.pm'
        };