Perl:你什么时候使用system(),什么时候安装包?

Dan*_*ich 2 perl perl-module

我在一个项目中工作,该项目在由系统人员维护的机器上使用Perl脚本,并且安装诸如Perl模块之类的软件包并非易事 - 您通常必须调用具有权限的人来执行此操作,等待几天,学习包的API,然后记得在每个新安装的计算机上安装它.

选择多次的替代方法只是调用system()(或反引号表示法``,在Perl中)并使用执行所需操作的shell命令的输出.当然,它并不总是可能的,当它使用时,通常会在命令调用周围进行包装,但通常更容易.

我的问题是,根据您的经验,何时取决于任何一方的权衡?

编辑:添加一个示例:我想以人类可读的格式打印目录的总大小,或者列出大于特定大小的所有常规文件,并且du似乎比安装执行相同操作的模块更容易. .

dax*_*xim 7

哦,这很简单.人们总是喜欢模块,因为更紧密的集成使得传递不适合传统IPC的数据成为可能.


什么,你期望在蹩脚的系统管理下帮助你理解你的痛苦吗?

  • 此外,您可以将模块安装到非默认目录中,因此您不需要调用具有特殊权限的任何人. (2认同)