纠正一下对 perl 的偏见

来源:互联网 发布:高晓松 加拿大 知乎 编辑:程序博客网 时间:2024/05/17 00:51
纠正一下对 perl 的偏见

坛子上有些人对 perl 有偏见。更有人用"一团浆糊"来形容 perl。我想这些人并不了解 perl,也未必认真使用过它。

Perl 最早是用来替代 shell script 的。这就注定了它要有非常灵活的语法。举例来说,你需要写一段代码来执行一个非常简单的任务,这段代码可能只会用到1-2次。因此,完全没有必要用到 OO、复用、或是 Design Pattern。你需要的只是尽量简洁的代码和最少的击键次数。在这一点上,perl 有着其它语言没有的优势:
1,语言内嵌的 regex 。一个=~操作符要远比使用任何库/类都要简单。
2,倒置条件语句。如果当一个语句写到一半时,你突然想到需要给它增加一个限定条件。用 perl,你可以直接在语句的结尾出加上倒置的条件语句。
3,低优先级的逻辑操作符。perl 有两套逻辑操作符。其中 and、or、和 not 有最低优先级。同第二点相似,有时侯一个语句写完,想要增加错误处理,使用低优先级的逻辑操作符,可以减少对前一部分语句的修改。
4,基于上下文的重载。perl 独有的。汉语中也有很多多音字,或是一词多用的现象,没见有人抱怨不能理解。除非是幼儿园智力水平。
5,CPAN库。我就不详细写介绍了。引用 Antrey Tang 的一句话 "CPAN is the language, Perl is a syntax""CPAN 才是语言,perl 只不过是一种语法"。任何一种人类语言都需要有其文化上的积累。简简单单的一个四字成语却可以代表几千年前的一个历史典故。Perl 也一样,CPAN 上就有着数不清的 perl 代码库。恰当的使用,常可以事半功倍。

任何语言都有其适用的领域。恰恰是 perl 的这些贴近人类语言的特性,使得它可以作为一种功能强大的编程语言来解决日常工作中琐碎的小问题。我只能对那些拿 perl 说三道四的人说,你们并不了解 perl,更不能体会到 perl 的幽雅。