从不同的perl脚本访问perl子例程

时间:2011-05-27 05:44:27

标签: perl

我有一个perl脚本,我们在其中写了几个子程序。例如:

# Try_1.pl

main();

sub main{
---
---
 check();
}

check {
--
--}

现在,我写了另一个脚本Try_2.pl,我想在其中调用perl脚本Try_1.pl的check子例程。

4 个答案:

答案 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.plTry_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()"。