Perl:什么时候使用 system() 以及什么时候安装包?

标签 perl perl-module

我在一个项目中工作,该项目在由系统人员维护的机器上使用 Perl 脚本,安装诸如 Perl 模块之类的软件包并非易事 - 您通常必须调用有权这样做的人,等待几天, 学习这个包的 API,然后记得在每台安装过的新配置的机器上安装它。

多次选择的替代方案是调用 system()(或反引号,``,在 Perl 中)并使用 shell 命令的输出做你想做的事。当然这并不总是可行的,当它使用时,通常需要对命令调用进行包装,但通常更容易。

我的问题是,根据您的经验,权衡何时会偏向任何一方?

编辑:添加示例: 我想以人类可读的格式打印目录的总大小,或者列出所有大于特定大小的常规文件,du 似乎比安装做同样事情的模块更容易...

最佳答案

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


什么,您期望在糟糕的系统管理下帮助您合理化痛苦?

关于Perl:什么时候使用 system() 以及什么时候安装包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4545074/

相关文章:

perl - 将 Unix `cal` 输出转换为 Latex 表代码 : one-liner solution?

perl - 提取具有不同分隔符的文本

perl - 什么是我的 Cache::Memcached::Fast $class = shift;在 Perl 中?

perl - 如何在 Perl 中解析用户代理字符串?

javascript - 我怎样才能轻松地一起使用 Ajax、perl 和 JSON?

perl - Mojolicious::Lite - 插入图片问题

perl - 以编程方式获取所有包含的 Perl 包的列表

windows - 草莓 Perl : forgets environment variables?

perl - Intellij 和 Perl 插件中无法找到包文件警告

perl - 如何伪造 perl 模块以进行依赖?