我有一个perl脚本,我们在其中写了几个子程序。例如:
# Try_1.pl
main();
sub main{
---
---
check();
}
check {
--
--}
现在,我写了另一个脚本Try_2.pl
,我想在其中调用perl脚本Try_1.pl
的check子例程。
答案 0 :(得分:7)
听起来你想要创建一个模块。 Try_1.pm(编辑:注释扩展名)应具有以下格式:
package Try_1;
use base 'Exporter';
our @EXPORT = qw(check);
sub check {
}
1;
然后Try_2.pl需要获取该代码:
use Try_1 qw(check);
那你在寻找什么?
答案 1 :(得分:5)
如果您没有使用模块(扩展名.pm
),而是使用库(扩展名.pl
):
require 'Try_1.pl';
check();
确保Try_1.pl
和Try_2.pl
文件位于同一目录中。
答案 2 :(得分:1)
您可能需要此
test1.pl:
use Routines;
{
my $hello = "hello123";
hello( $hello );
# ...
}
test2.pl:
package Routines;
sub hello
{
my $hello = shift;
print "$hello\n";
}
1;
答案 3 :(得分:0)
"运行"回答经过测试的工作,但需要调用类似" Try_1 :: check()"。否则显示错误" Undefined subroutine& main :: check()"。