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

Roh*_*ain 4 perl

我有1个perl脚本,我们在其中写了几个子程序.例:

# Try_1.pl

main();

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

check {
--
--}
Run Code Online (Sandbox Code Playgroud)

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

Tam*_*ake 7

听起来你想要创建一个模块.Try_1.pm(编辑:注释扩展名)应具有以下形式:

package Try_1;
use base 'Exporter';
our @EXPORT = qw(check);

sub check {
}

1;
Run Code Online (Sandbox Code Playgroud)

然后Try_2.pl需要获取该代码:

use Try_1 qw(check);
Run Code Online (Sandbox Code Playgroud)

那你在寻找什么?

  • 此外,包含此包的文件需要命名为"Try_1.pm"并放在您的`@ INC`路径中. (4认同)
  • 此外,由于你使用`@ EXPORT`,你不需要在Try_2.pl中显式导入函数`check`,一个简单的`use Try_1`就可以了.您可以使用`@ EXPORT_OK`来要求显式导入. (2认同)

run*_*run 5

如果您不使用模块(扩展名.pm),而是使用库(扩展名.pl):

require 'Try_1.pl';
check();
Run Code Online (Sandbox Code Playgroud)

确保这两个文件Try_1.pl,并Try_2.pl在同一个目录下.