Perl-21世纪的语言 怪力 2001年 34期 最近,SUN微系统公司(http://soldc.sun.com)面向广大开发人员进行了一个在线调查,目的在于了解人们对目前开发工具的欢迎程度,同时可以从一个方面反映出未来技术的发展方向。很快,这个调查有了结果:   请问你用什么语言来开发基于WEB的客户端应用程序?^34020101a^   Perl编程语言的设计者Larry Wall把Perl称为后现代语言,集各种语言的优势以更好地解决实际问题。Perl强大的功能、简洁到极点的语法,使它受到了广大程序员的喜爱,成为一种非常流行的工具。从1987年Perl 1.0面世以来,使用它开发出的应用程序数以万计,公共代码的Perl库函数覆盖了计算机的各个领域,成为其它语言所无法比拟的一个资源,这些库函数都可以在http://www.cpan.org上找到。   特别是随着近年来Perl 5的开发,使它具有了面向对象编程的功能。从语言功能与性能来看,Perl 5与任何一种现代语言相比都毫不逊色,这主要表现在如下各方面。   #21.快速的开发过程   Perl程序尽管在运行时有一个编译过程,但此过程是不可见的。对程序员来讲,它完全像一个解释性语言,可以随改随测试。   #22.极强的可移植性   Perl已经在几乎所有的平台上都有兼容的版本,这意味者一个Perl程序,只要未用到与操作系统有关的调用,就可以不加修改地在任何平台上运行。Perl甚至统一了目录分隔符,即使在Windows系统下,也可以使用“/”作为目录分隔。   而这种可移植性,恰恰是包括Java的其它语言所无法比拟的。   #23.极丰富的语言功能和文本处理能力   Perl有很多功能极强而又极为简洁的运算符和固有函数。特别是在文本处理和正规表达式方面的功能,使很多在别的语言里极难解决的操作成为极为简单的操作,比如,用正规表达式分解、替换、匹配字符串等。Perl在这方面的优势已被其它语言如JavaScript借用,但由于缺乏Perl的灵活语法,正规表达式在JavaScript里的使用还是麻烦不少。   Perl语言本身还支持数组和对应数组,这使程序员能轻易使用复杂的数据结构,用复杂的算法高效地解决各种问题。   另外,Perl不但能处理文字,也能处理二进制数据和C的数据结构。   #24.高超的性能   Perl的运行速度大大超过一般解释性语言。与Java相比,Perl的运行速度大约快了一个数量级。这是因为Perl实际上是一个编译性语言,Perl脚本在运行前先经过编译、优化,转化为一个运算符树,并直接调用各种内部函数。而Java则是在一个虚拟机器上进行解释。   如果有需要,Perl可以被编译为C代码,然后生成可执行文件,这样就省去了每次运行时所需的编译过程,提高启动速度。   #25.对OOP的强大支持   Perl支持几乎所有OOP(Object Oriented Programming, 面向对象的程序设计)的编程方法,如类、继承、多继承、虚拟函数、运行时类型确定等等。而且,Perl具有其它语言无法比拟的动态调用功能。目前,几乎所有的Perl库函数都是以OOP的方式写成类的模块。   #26.与C/C++的接口非常方便   Perl里的很多库函数是用C/C++写的,因此Perl有着非常聪明而且功能完善的C/C++开发接口工具。人们可以很容易的把C/C++代码通过动态链接库用于Perl程序。   #27.极为丰富的函数库   这是Perl最具有吸引力的地方,全世界数以万计的程序员在这些年里开发出了大量的源代码,内容涉及各个方面,包括:操作系统、网络通讯、数据类型、数据库接口、用户界面、字符串处理、安全与加密、互联网、服务器、存档压缩、图像处理、邮件与新闻、文件系统等数以千计的模块,给程序员提供了极丰富的资源。这些模块都符合Perl的编程标准,从安装到使用都极为简单、方便。Perl本身即带有自动从网上下载模块,自动编译、测试、安装、生成使用说明的工具。   Perl是如此的优秀、实用,它已经被广泛应用在各个方面,特别是在互联网上。本文开篇所提到的SUN微系统公司的调查就很好地证明了这一点。   当然,任何事物都有它的不足。目前,Perl 5用于商业开发方面较少,这是由于Perl程序的代码文本文件是公开的,不利于公司保护其商业秘密。同时Perl 5对上下文敏感的语法和大量的运算符对于初学者来说有一定的门槛。相信这些问题在未来的Perl 6中将得到解决,届时功能更强大的Perl将成为一个易学而且功能极强大的软件开发工具。    ^34020101b^