Perl的"include"-esque函数

tek*_*agi 5 perl function include

我有一个函数,我想在两个不同的Perl脚本中定义,但不喜欢编辑它们.有没有办法include从外部文件中获取它(比如在PHP中)?

FUNC文件:

sub test {

}
Run Code Online (Sandbox Code Playgroud)

文件1:

include func_file;
foo();
bar();
test();
Run Code Online (Sandbox Code Playgroud)

文件2:

include func_file;
blah();
test();
Run Code Online (Sandbox Code Playgroud)

Ale*_*lex 9

要狭隘地回答这个问题:

是的,您可以使用require('filename')函数包含文件.

一般来说回答这个问题:

Perl有一个完整的机制,通过其包机制定义和导出函数.这在perlmod中有所描述.您应该真正使用此机制,因为您最终可以将模块打包到CPAN模块中,并使其可供其他人使用,或者只是轻松地在其他系统上自行安装.


小智 6

Func.pm:

package Func;

use Exporter qw( import );
our @EXPORT = qw( test );

sub test {
}

1;
Run Code Online (Sandbox Code Playgroud)

File1.pl:

use Func;

test();
Run Code Online (Sandbox Code Playgroud)

  • `use` /`require`用于模块,`do`用于模块.[信息](http://stackoverflow.com/questions/6376006/what-is-the-difference-between-library-files-and-modules/6379109#6379109) (2认同)