假设你有一个自己编写的 FileUtil.pm,有3种方式可以引用该模块
1、将FileUtil.pm安装为系统模块,就像安装cpan模块那样
2、将FileUtil.pm放在当前执行的perl文件的路径下
3、在命令行或者perl文件种动态指定
这里介绍第三种,因为比较通用。
众所周知, perl中的@INC存储perl中的环境变量,通过对该@INC进行操作,可以让perl到指定目录搜索perl模块。
也许你会以为一下的代码可以办到
这里假设FileUtil.pm放在 'D:/perl_lib'下
unshift @INC, 'D:/perl_lib';
use FileUtil;
运行你的代码,你会发现它无法运行,因为use语句是在编译时运行,而一般语句是在运行时运行的,所以以上的语句是起不了作用的。
你应该使用以下代码
use lib 'D:/perl_lib';
use FileUtil;
或者
BEGIN{
unshift @INC , 'D:/perl_lib';
}
use FileUtil;