在另一个脚本中重用perl脚本中的sub

时间:2017-02-15 20:16:38

标签: perl

我有两个perl脚本。两者都没有"包"关键字或任何东西我有一个sub(以及一些自由浮动代码)我想在另一个脚本中使用,而不需要在这个过程中运行自由浮动代码。

A.pl
sub my_sub {
    # do something
}

# do something else
my_sub();
# do something else
B.pl
require A.pl; # but load only the subs, don't run anything
my_sub();

这是否可以,而不必在单独的.pm文件中分离出sub然后加载它?

1 个答案:

答案 0 :(得分:11)

require将运行代码。那么你需要A.pl来识别加载和在命令行上调用之间的区别。我认为可以做到,但你有点忽略了这一点。

相反,我强烈建议逆转一切。不是拥有庞大的pl脚本,也没有pm模块,而是反转它并拥有微小的pl文件,其唯一的功能是加载模块并调用封装功能的函数。然后,添加新模块来保存共享的表单或功能是微不足道的。