【发布时间】:2023-03-05 13:46:02
【问题描述】:
我有一个函数,我想在两个不同的 Perl 脚本中定义,但不喜欢同时编辑这两个脚本。有没有办法可以从外部文件include它(比如在 PHP 中)?
功能文件:
sub test {
}
文件 1:
include func_file;
foo();
bar();
test();
文件 2:
include func_file;
blah();
test();
【问题讨论】:
我有一个函数,我想在两个不同的 Perl 脚本中定义,但不喜欢同时编辑这两个脚本。有没有办法可以从外部文件include它(比如在 PHP 中)?
功能文件:
sub test {
}
文件 1:
include func_file;
foo();
bar();
test();
文件 2:
include func_file;
blah();
test();
【问题讨论】:
狭隘地回答这个问题:
是的,您可以使用 require('filename') 函数包含文件。
一般地回答这个问题:
Perl 有一套完整的机制,通过它的包机制来定义和导出函数。这是described in perlmod。您应该真正使用这种机制,因为您最终可以将模块打包成一个 CPAN 模块,并使其可供其他人使用,或者简单地自己安装在其他系统上。
【讨论】:
功能.pm:
package Func;
use Exporter qw( import );
our @EXPORT = qw( test );
sub test {
}
1;
文件1.pl:
use Func;
test();
【讨论】:
use/require 用于模块,do 否则。 details