概述
Perl(Practical Extraction and Report Language)叫做文字分析报告语言。它是一个高级程式语言,是由Larry Wall于1986年开发的,而且是免费的。随着版本的改进,Perl的功能越来越强,现在的功能已经超乎原先设计时的想象,几乎任何事都可以做到,这使Perl变成了每一部工作站必备的标准工具了。Perl融合了C、C++、Shell Script、Sed、Awk等许多语言的特性,由多种语言和工具演化而来。Perl对进程、档案和文字有很强的处理、变换能力,但凡有关快速原型设计、系统工具、软体工具、系统管理、资料库连结、图像程式设计、网路连接和wWw程式设计等之类的任务,都特别适合用Perl来做。这些特长不但使Perl成为系统维护管理者和CGI程序员的宠儿,就连数学家、遗传学家、新闻工作者,甚至企业管理者也都使用Perl。
Perl自由开放的发行方式要归功于Internet的传统文化及其作者Larry Wall。现在Perl的核心、标准程式库、选择性安装的模组和使用说明都出自于义务者之手。值得一提的是,核心发展小组(称为Perl Porters)的成员是一群有着高度热情和奉献精神的人士。他们全心投入开发出比您用钱能买得到还要更好的免费软件。如果您愿意,可以购买商业性的Perl版本。但对大多数使用者来说,免费的版本通常已能满足要求。所以您不需要花1分钱就可以获得免费的Perl,只需要花一点时间学习就可以了。1
Perl的版本Perl比较流行的版本有4.0和5.0。1988年1月Perl的第一个正式版本发行,即Perl 1,1988年6月Perl 2发行,1989年10月Perl 3发行,1991年3月Perl 4发行,到了1994年10月,一个全新的版本发行,这就是Perl 5。目前选用Perl当然该选用第五版了。它最后一次的修正(4.036)是在1992年。Perl最新的发行版本是5.6。在Perl 5.0以上版本中还增加了面向对象的用法、增强了对字符串的处理能力,可以把整个文件当成一个字符串来处理,不受任何数据的大小限制,而只受存储器的大小的限制。既能处理DBM数据库格式的数据,也能处理二进制的数据等等,更重要的是Perl还可以在Unix、WindowsNT、Windows95、Dos、Linux、FreeBSD、OS2、Macitosh等操作系统中使用。目前还可以用Perl来和一些数据库软件沟通,Perl是最有效地开发Web程序的工具之一。无数的www网站上功能强大的CGI应用程序中几乎都是用Perl语言来编写的。
Perl是一种解释性语言,与C或C++不同,Perl需要一个专门的解释器。用Perl写的程序,由于它被解释器读取并运行,所以人们常称之为Perl Scripts(Perl脚本文件)。Perl与C等高级语言相比,其最大的优势在于程序员能够非常轻松地处理和控制文本。同时Perl自由轻松的语法体系使程序更加灵活方便。1
Perl语言基础Perl语言中的变量Perl语言的变量有3种:纯变量(scalar variable)、数组(array)和关联数组(associative array)。
纯变量纯变量又称标量变量,是Perl语言处理的最简单的数据类型。标量可以是数字(如2、3、2.5e6),也可以是字符串(如“hello”、“生物信息”)。
Perl语言中的标量变量以$和一个字母开始,以后可以是字母、数字和下划线,大小写有区别,而且所有字母、数字和下划线都有效。如:$a和$A是不同的变量。
Perl语言中的变量可以通过操作符(如+或.等)来产生新的变量。可以从文件和设备中读取变量,也可以将其输出。使用纯量变量时要在前面加上$符号。
标量数据可分为数字和字符串两种,数字又可分为整型变量和浮点变量。
整型变量,如2、-200、3 568等。
Perl语言支持8进制和16进制变量,8进制以0开头(如0255,表示8进制的255),16进制以0x或OX开头(如一oxlA,代表负的1A)。浮点变量,如2.5、一6.3e5、一2.3e一6等。
最短的字符串可以没字符,称为空字符,最长可以把内存填满,这与Perl语言的“无内置限制”的原则一致。
字符串有两种格式:单引字符串和双引字符串。
单引字符串(single-quoted string)就是用单引号括起来的一串字符。
双引字符串(double-quoted string)就是用双引号括起来的一串字符。
数组数组是标量数据的有序列表。数组可以含任意多个元素,最小的数组可以不含元素,而最大的数组可以占满全部可用内存。数组实量(array literal)是位于括号内用逗号分开的一系列值。如:(1,2,3,4,5)表示有5个数值的数组。
数组变量具有单独的数组值,要以@打头。如:@zmd。
数组的赋值和标量赋值一样,也用等号表示。Perl语言根据赋值对象是标量还是数组变量来确定赋值操作是标量赋值还是数组赋值。
若数组实量中只含有变量引用(不是表达式),则此数组实量也可作为变量使用。它可以用在赋值运算符的左边。例如:($a,$b,$c)=(1,2,3)表示将1赋给$a,2赋给$b,3赋给$C。
关联数组关联数组和前面说的数组类似,它包含标量数据,可用索引值来单独选择这些数据;和数组不同的是,关联数组的索引值不是非负的整数而是任意的标量。这些标量称为关键字(key),可以在以后用于检索数组中的数值(value)。关联数组的元素没有特定的顺序,可以把它们想像为一组卡片。每张卡片上半部分是索引而下半部分是数值。
关联数组是Perl语言中特有的,关联数组是一个功能强大的数组。使用关联数组时要在前面加上%号,关联数组的格式如:%ARRAY=(keyl,value1,key2,Value2,key3,value3),其中每一个关键字都有一个相对应的值。2
Perl语言的控制结构条件判断if(){
}
elseif(){
}
else {
}
循环(1)while循环
while(){
}
(2)until循环
until(){
}
(3)for循环
for($count=1;$count0);
print(“Not zero yet.\n”)until($var一一==0);
虽然条件判断写在后面,但却是先执行的。2