可能重复:
How do I include functions from another file in my Perl script?
我有一个perl文件假设a.pl并且我想使用perl文件b.pl中的函数。我该怎么做
答案 0 :(得分:3)
MyBModule
(核心保留B
)。.pm
,如MyBModule.pm
。package MyBModule;
1;
如果您想在调用sub时使用您的包名称,则无需执行任何其他操作。
use MyBModule;
use strict;
use warnings;
MyBModule::sub1();
如果您不想使用包名称对其进行限定,请继续阅读...
现在配置Exporter。
use Exporter;
语句。our @EXPORT_OK = qw(sub1 sub2);
完成后,您的模块应该看起来像这样
package MyBModule;
use strict;
use warnings;
use Exporter;
our @EXPORT_OK = qw(sub1 sub2);
sub sub1 { ... }
sub sub2 { ... }
@INC
或当前目录中的模块中。如果没有将目录附加到PERL5LIB
。use MyBModule qw(sub1 sub2);
阅读perldoc Exporter了解更多信息
之后您的脚本应如下所示:
use strict;
use warnings;
use MyModuleB qw( sub1 sub2 );
真的不是那么难,你习惯了这需要大约15秒。
答案 1 :(得分:2)
最佳/传统方式是将所有函数保存在Perl模块文件(.pm)中:请参阅perlmod。这需要您将b.pl转换为package
。然后,您将从a.pl访问您的模块文件(MyFuncs.pm
),其中包含:
use MyFuncs;
答案 2 :(得分:1)
答案 3 :(得分:-1)
使用'use'关键字来使用其他模块中的函数。
示例:
档案a.pl:
use b;
f_in_b();
文件b.pm:
sub f_in_b()
{
print "f_in_b\n";
}
1;
重要的:
文件b.pm必须具有最终1;