两种指定Perl模块目录的方法(PERLLIB和use lib)

标签:
perl模块目录导入 |
分类: 编程语言 |
本文介绍两种比较方便的指定Perl模块目录的方法。
使用的代码的目录结构如下:
三个文件的源代码如下:
test.pl
#!/usr/bin/perl -W package main; use strict; use warnings; use subpm2::log; subpm2::log::info("hello world!\n"); |
lib/subpm1/log.pm
package subpm1::log; use strict; use warnings; sub info { } 1; |
lib/subpm2/log.pm
package subpm2::log; use strict; use warnings; use subpm1::log; sub info { } 1; |
使用PERLLIB或PERL5LIB环境变量
在Linux下的话,将PERL5LIB添加到环境变量中,指定模块所在的目录即可。
在Windows下的话,同样也是把PERL5LIB添加到环境变量中。如下图:
使用PERLLIB环境变量也可以达到同样的效果。
使用use lib
Perl允许使用use lib在代码中指定模块所在的目录。将test.pl的代码修改如下:
#!/usr/bin/perl -W package main; use strict; use warnings; use File::Basename; # __FILE__表示当前文件的路径 use lib dirname(__FILE__) . "/lib"; use subpm2::log; subpm2::log::info("hello world!\n"); |
程序输出:
subpm2::log::info -> subpm1::log::info -> hello world! |