【发布时间】:2011-01-27 21:40:52
【问题描述】:
这是我想在 Perl 中完成的设计:
一个主脚本调用多个子脚本。主脚本控制每个子脚本按特定顺序的调用,并记录每个子脚本的输出,以决定是否不调用下一个脚本。
目前,我有一个使用 system() 调用来调用子脚本的主脚本,但我无法让子脚本将状态回传给主脚本。
不想使用子函数,真想把每个子脚本代码分开。
为了更清楚地说明问题: 子脚本应该决定向主脚本报告什么。例如:当子脚本在数据库中找到一个字符串值时,子脚本发送代码 1,当子字符串没有找到它要查找的文件时,它发送代码 2,当一切正常时发送代码 0。
【问题讨论】:
-
虽然不是问题的答案,但您可能需要在此处考虑您的实施。如果您将模块用于不同的功能,您可以做同样的事情,但更健壮,内存更少,并且没有系统调用。您可以让每个模块都具有您需要的功能或行为。对于那些“需要保持独立的脚本”,您可以在该模块周围有一个包装脚本来调用模块的方法。然后,对于这个“主”脚本,您只需使用所有模块并调用每个模块中的函数,将结果作为变量而不是返回值传回。
-
是的,最终我肯定想走那条路,有什么好的资源可以指点我了解更多关于 perl 中“模块”的信息吗?
-
perldoc.perl.org/perlmod.html 。另外,这里有几个 OO 教程:perldoc.perl.org/index-tutorials.html