Perl在安装两个版本的模块时会做什么?

gem*_*saw 7 perl cpan perl-module

我没有对我的工作遥控盒root权限,所以我使用的描述cpanm和地方:: 11b的组合,在这里安装CPAN模块包装盒上的我的本地目录.使用cpanm,我假设cpanm Module::To::Update会在我的本地库中安装最新版本的模块.

显然,我不需要root权限来使用CPAN升级我的模块,就像我刚刚尝试过的那样,升级过程非常顺利.但是,我仍然很好奇Perl将使用哪个版本的模块:本地版本,还是默认的CPAN版本?或者只使用较新的?

如果这存在于perldoc或Stack Overflow中,我也会很感激.我试过搜索两个,但我找不到它= /

Que*_*tin 13

它使用它@INC按顺序搜索时找到的第一个.

  • @dgempesaw - 这种推定是不正确的.如果你需要从特定的地方加载一个特定的模块,你需要破解`@ INC`或'%INC`(有很多方法可以做到这一点.如何做到这一点会产生一个很好的跟进问题). (4认同)
  • @dgempesaw,为了找到模块的版本,Perl需要执行模块.如果模块不是正确版本,则无法取消执行该模块. (4认同)