Hue-Bond has asked for the wisdom of the Perl Monks concerning the following question:
I wanted to experiment with the CPAN module so I run perl -MCPAN -e shell, configured it and tried to reinstall two modules that I previously had installed by hand. Everything went ok and the modules ended up under the PREFIX directory I specified during CPAN configuration. This line caught my attention: Appending installation info to /home/hue/lang/perl/modules/lib/perl/5.8.7/perllocal.pod. I went to see that file with perldoc and discovered what seems to be an installation log. Great! It reads:
Sat Sep 24 12:24:26 2005: "Module" Digest::SHA - "installed into: /home/hue/lang/perl/modules/share/perl/5.8 +.7" - <blah> Sat Sep 24 12:30:21 2005: "Module" Language::Befunge - "installed into: /home/hue/lang/perl/modules/share/perl/5.8 +.7" - <blah>
But when I go to the filesystem to check this, I find:
|-- lib | `-- perl | `-- 5.8.7 | |-- Digest | | `-- SHA.pm | |-- auto | | |-- Digest | | | `-- SHA | | | |-- SHA.bs | | | `-- SHA.so | | `-- Language | | `-- Befunge | `-- perllocal.pod |-- share | `-- perl | `-- 5.8.7 | `-- Language | |-- Befunge | | `-- <blah> | `-- Befunge.pm
That is, SHA.pm is under lib/perl/5.8.7 but Befunge.pm under share/perl/5.8.7.
I did export PERL5LIB=~/lang/perl/modules/lib/perl/5.8.7 and now I can use Digest::SHA; but when I use Language::Befunge; I get the usual error message telling me that Language/Befunge.pm is not in @INC. If I export PERL5LIB=~/lang/perl/modules/share/perl/5.8.7, I can use Language::Befunge; but not Digest::SHA. As expected :^).
My question is, why perllocal.pod says both modules are in share/perl/5.8.7 when it's not true?
--
David Serrano
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Modules installation path
by merlyn (Sage) on Sep 24, 2005 at 15:04 UTC | |
by Hue-Bond (Priest) on Sep 24, 2005 at 17:21 UTC |