abc*_*abc 6 perl module package
这是一个math.pm具有2个基本功能的模块add和multiply:
package Math;
use strict;
use warnings;
use Exporter qw(import);
our @EXPORT_OK = qw(add multiply);
sub add {
my ($x, $y) = @_;
return $x + $y;
}
sub multiply {
my ($x, $y) = @_;
return $x * $y;
}
1;
Run Code Online (Sandbox Code Playgroud)
这是script.pl调用add函数的脚本:
#!/usr/bin/perl
use strict;
use warnings;
use Math qw(add);
print add(19, 23);
Run Code Online (Sandbox Code Playgroud)
它给出了一个错误:
无法在@INC中找到math.pm <@INC包含:C:/ perl/site/lib C:/ perl/lib.>在C:\ programs\script.pl第5行.BEGIN失败 - 编译中止C:\ programs\script.pl第5行.
如何解决这个问题呢?
向脚本添加use lib语句会将该目录添加到该特定脚本的@INC.无论是谁以及在什么环境中运行它.
在尝试加载模块之前,您必须确保使用lib语句:
use lib '/path/to/module';
use Math qw(add);
Run Code Online (Sandbox Code Playgroud)
有关设置@INC的更多详细信息,请查看以下内容: