我使自己成为一个自定义的PERL模块,它在由同一目录中的脚本调用时工作,但由于某种显而易见的原因,它不在目录之外。如何在不安装的情况下使用模块?例如:在PERL中使用自定义模块
use 5.012;
use warnings;
use Y:/my/dir/to/module.pm;
我使自己成为一个自定义的PERL模块,它在由同一目录中的脚本调用时工作,但由于某种显而易见的原因,它不在目录之外。如何在不安装的情况下使用模块?例如:在PERL中使用自定义模块
use 5.012;
use warnings;
use Y:/my/dir/to/module.pm;
use lib 'Y:/my/dir/to';
use module; # BAD name for module, lowercase is reserved for pragmas...
不知怎的,添加一个链接到'lib',我会投票。 ['perldoc lib'](http://perldoc.perl.org/lib.html)[p3rl.org/lib](http://p3rl.org/lib)[search.cpan.org/perldoc/ lib](http://search.cpan.org/perldoc/lib)或[metacpan.org/module/lib](http://metacpan.org/module/lib)就可以。 – 2011-12-29 18:01:58
感谢文法标准提示 – 2011-12-29 18:04:29
如果你只有一个模块,而不是使用lib中,你可以这样做:
BEGIN {
unshift @INC,"dir";
#@INC is the directory list, where perl searches for .pm files
}
use Foo::Bar; #dir/Foo/Bar.pm
#or
do "dir/Foo/Bar.pm"; #perldoc -f do
虽然技术上是真的,但并不是那么有用。 [lib](http://perldoc.perl.org/lib.html)包含在5.001 – 2011-12-30 18:20:09
中我不知道。谢谢。 – 2012-01-01 16:59:49
['使用LIB 'Y:/我的/ DIR';'] (http://perldoc.perl.org/lib.html)'use to :: module;' – 2011-12-29 17:50:57
您应该使用'module-starter'程序为可安装(CPAN风格)模块构建模板。这样,您就可以以标准方式安装和测试您的模块,甚至可以在将来将其发布到CPAN。 (更多细节在这里:http://perldoc.perl.org/perlnewmod.html) – 2011-12-29 21:48:46