当 Perl/Tk 遭遇 Win32编辑本段回目录
Perl 的特点、历史和许可证编辑本段回目录
Perl 的基本特点
别期望在一刻钟内就能领略Perl的所有神奇之处, 这种情况很像吃香蕉, 用不着吃完整只香蕉后才知其味,每咬一口都是享受,并促使你再咬下一口,再下一口。 ----Larry Wall
上面这段话是 Perl 项目发起人劳利·华尔( Larry Wall )对学习 Perl 语言的一段经典评论,希望大家都能找到这种感觉。
Perl 是 Practical Extraction and Report Language (实用摘录和报告语言)的简称,是由 Larry Wall 所发起的。现在其最新版本为5.0,但是大家急切期待是 Perl 6.0 的诞生,不过本次讲座中我们还是以 5.0 为基础。
Perl 的设计目标是帮助 UNIX 用户完成一些常见的任务,这些任务对于 Shell 来说过于沉重或对移植性要求过于严格。Perl 语言中包含了 C、C++、shell,script、sed、awk 这几个语言的语法,它最初的目的就是用来取代 UNIX 中 sed/awk 与 脚本语言的组合,用来汇整信息,产生报表。因此 Perl 语言要远远比前面讲的 BASH 复杂和功能强大。
Perl 的设计原则或者说 Perl 的设计哲学是以实用为第一优先,也就是力图使 Perl 语言容易使用、有效率、而且完整。
Perl 是按 GNU Public License 和 Artictic License 两种许可证形式分发的,其实质是开源软件、自由软件的,原先运行于 UNIX 和类 UNIX 系统,现在已可以方便地在OS/2,Windows 9x,Windows/NT等系统下运行。
Perl 是一种解释运行的语言,和 BASH 程序一样,一般 Perl 程序的第一行需注明自己是一个 Perl 程序而不是 Shell 程序,所以一般将下面一行语句:
#! /usr/bin/perl 作为文件的第一行。
Perl 由于引入了模块的设计思想,随着版本的改进,功能越来越强。现在 Perl 的功能已经超乎原先设计时的想象,几乎任何事都可以做到,也变成每一部工作站必备的标准工具了。Perl 最为著名的一点就是他对字符串的处理,由于 Internet 对文字信息处理的巨大需求,使得 Perl 的应用如日中天,而且 Perl 语言也的确是一个非常优秀的文字信息处理语言。
5.2 Perl 的发展历史
最早发布的 Perl 1.0 版是在1987年底出现的,现在已经过去十多年了。下面是 Perl 首席开发者 Larry Wall 对 Perl 发展历程的一个简单回顾:
Perl 0 introduced Perl to my officemates.
Perl 1 introduced Perl to the world, and changed /\(...\|...\)/ to
/(...|...)/. \(Dan Faigin still hasn't forgiven me. :-\)
Perl 2 introduced Henry Spencer's regular expression package.
Perl 3 introduced the ability to handle binary data (embedded nulls).
Perl 4 introduced the first Camel book. Really. We mostly just
switched version numbers so the book could refer to 4.000.
Perl 5 introduced everything else, including the ability to
introduce everything else.
Perl 从诞生到现在(Year 2000),他的主要开发参与者有 10 位,他们分别是:
Larry Wall,
Andy Dougherty,
Tom Christiansen,
Charles Bailey,
Nick Ing-Simmons,
Chip Salzenberg,
Tim Bunce,
Malcolm Beattie,
Gurusamy Sarathy,
Graham Barr.
下面是一个关于 Perl 历史上各种发行版本的汇总表:
关于 Perl 发展历史的更详细信息大家可以从这里得到。
5.3 Perl 的使用许可证
我们应该知道 Perl 是一个开放源码的优秀软件,你可以自由的下载该软件去使用和研究,但是 Perl 使用的并不是我们熟知的 GPL 许可证,而是 Artistic 许可证,虽然 Artistic 许可证和 GPL 很类似。简单的说就是 Artistic 许可证比 GPL 的要宽松,你可以出售包含Artistic“包” 的产品,但是绝对不能出售Artistic“包”,不像GPL那么死板。 Artistic 许可证之所以不涉及源码问题是因为 Perl 不存在这个问题。可能大部分人都还不太了解这个许可证。下面是 Artistic 许可证的英文原文,有兴趣的同学可以自己看一遍。
参考文献编辑本段回目录
http://www.aka.org.cn/Lectures/002/Lecture-2.1.2/perl-history.html