我正在建立一个测试环境来测试一个程序。该环境包括大量作为输入给出的文本文件,并且程序的预期行为再次记录在另一组文本文件中。我想用所有输入文件顺序运行程序,并将生成的输出与参考文件进行比较。因为我可以选择我可以使用的语言(shell 或 perl),所以我想知道 perl 语言的优点/优势是什么。
问问题
5948 次
2 回答
7
Perl 至少比任何 shell 都具有以下优点...
- 可移植性
- 在 Windows 上工作
- 即使在 Unix 上,相同的 shell 命令也可能因系统而异
- 调试器
- 丰富的图书馆选择
- 更好的结构,例如面向对象和函数式编程
- 使用perldoc进行文档记录的更好方法
- 更好的测试设施,例如Test::More和700 多个其他测试库
- 更好地打包项目以进行分发
大多数动态语言(Perl、Python、Ruby...)都具有这些优势。
于 2013-04-26T07:50:59.847 回答
5
由于 Schwern 列出了相当多的优点,我只剩下指出一个继续困扰我的弱点。
在 Perl 中调用其他程序比在 shell 中复杂得多。您需要处理许多极端情况,其中 shell 大多只是做正确的事情。
我个人的经验法则是当任务主要是关于调用其他程序时使用 shell 脚本,当我处理数据时使用 Perl。如果两者都需要,我可能会使用一个调用 Perl 进行数据处理的 shell 脚本,尽管如果只发出很少的外部命令,它可能会变成一个完整的 Perl 脚本。
于 2013-04-26T08:03:35.537 回答