一 安裝perl模組到非自訂目錄
How do I get MakeMaker and Module::Build to install to the same place?Module::Build, as of 0.28, supports two ways to install to the same location as MakeMaker.1) Use INSTALL_BASE / --install_baseMakeMaker (as of 6.31) and Module::Build (as of 0.28) both can install to the same locations using the "install_base" concept. See "INSTALL_BASE" in ExtUtils::MakeMaker for details. To get MM and MB to install to the same location simply set INSTALL_BASE in MM and --install_base in MB to the same location. perl Makefile.PL INSTALL_BASE=/whatever perl Build.PL --install_base /whatever2) Use PREFIX / --prefixModule::Build 0.28 added support for --prefix which works like MakeMaker's PREFIX. perl Makefile.PL PREFIX=/whatever perl Build.PL --prefix /whatever
二 使用自訂目錄下的模組
BEGIN {
push (@INC,'/opt/perl/lib');}
BEGIN { unshift @INC,'/opt/perl/lib';}
use lib '/opt/perl/lib';
use local::lib; # sets up a local lib at ~/perl5use local::lib '~/foo'; # same, but ~/foo
# Or...use FindBin;use local::lib "$FindBin::Bin/../support"; # app-local support libraryuse FindBin;use lib "$FindBin::Bin/../lib";
# oruse FindBin qw($Bin);use lib "$Bin/../lib";
三 尋找已經安裝的模組
1. Shell 指令碼:find `perl -e ‘print “@INC”‘` -name ‘*.pm’ -print2. Perl 指令碼:#!/usr/bin/perluse strict;use ExtUtils::Installed;my $inst = ExtUtils::Installed->new();my @modules = $inst->modules();foreach (@modules) {my $ver = $inst->version($_) || “???”;printf( “%-12s — %s\n”, $_, $ver );}exit 0;
完!