[免责声明:我主要是一名 Perl 程序员,这可能会影响我的判断。然而,我不是一个特别部落的人,我认为在这个特殊问题上我的论点是相当客观的。]
Perl 被设计为无缝融入 Unix 环境,这就是为什么对于以 OO 背景为主的人(尤其是 Java 学派的 OOP)感觉如此陌生的原因。但是,出于这个原因,它非常广泛地安装在具有任何类型的 Unixoid OS 的机器上,并且许多供应商系统实用程序都在其中编写。同样出于同样的原因,既没有安装 Python 也没有安装 Ruby 的服务器上仍然可能有 Perl,这再次使得熟悉它变得很重要。因此,如果您的 CEH 活动包括在 Unix 上的广泛活动,那么无论如何您都必须对 Perl 有一定的了解,并且您不妨专注于它。
也就是说,这在很大程度上是一个偏好问题。语言没有太多区别。他们的表现力几乎是相同的。有些事情在其中一种语言中容易一些,有些在另一种语言中容易一些。
在库方面,我不知道 Ruby 和 Python 如何相互比较——我确实知道 Perl 让它们领先一步。话又说回来,有时(特别是当您正在寻找满足共同需求的库时)唯一的影响就是您会被选择淹没。而且,如果您只是想在 Python 或 Ruby 的库很好地涵盖的某个特定领域做事,那么 CPAN 上的大量其他东西不一定是优势。然而,在利基领域,它很重要,你永远不知道你最终会有什么不可预见的需求(错误,根据定义)。
对于命令行上的单行使用,Python 是一种非入门者。
在交互式解释器环境方面,Perl……嗯……嗯,你可以使用调试器,它不是那么好,或者你可以从 CPAN 安装一个,但 Perl 本身并没有提供一个好的。
所以我认为 Perl 确实对你的需求有非常小的优势,但只是而已。如果您选择 Ruby,您可能根本不会变得更糟。Python 可能会给您带来更明显的不便,但这也不是一个糟糕的选择。