热搜关键词: 电路基础ADC数字信号处理封装库PLC

pdf

perl语言编程

  • 1星
  • 2014-09-25
  • 2.93MB
  • 需要1积分
  • 2次下载
标签: perl编程

perl编程

perl语言编程,经典资料

Perl
语言编程
第三版 ½者:Larry
Wall, Tom Christiansen, and Jon Orwant
译者:½伟平
第一部分
概述
第零章 前言
第一章
Perl
概述
第二部分
细节
第二章 集腋成裘
第三章 单目和双目操½符
第四章 语句和声明
第五章 模式匹配
第六章 子过程
第七章 格式
第八章 引用
第九章 数据结构
第十章 包
第十一章 模块
第十二章 对象(上)
第十二章 对象(下)
第十三章 重½½
第十四章,捆绑(tie)变量上
第十四章,捆绑(tie)变量下
第三部分
做为技术的Perl
第十五章
Unicode
第十六章 进程间通信
第十七章 线程
第十八章 编译
第十九章 ½令行接口
第二十章
Perl调试器
第二十一章 内部和外部
第四部分
做为文化的Perl
第二十二章
第二十三章
第二十四章
第二十五章
第二十六章
第二十七章
CPAN
安全
普通实践
可移植的
Perl
简单旧文档
Perl
文化
第五部分
参考资料
第二十八章 特殊名字
第二十九章 ½数(A-D)
第二十九章 ½数(E-N)
第二十九章 ½数(O-R)
第二十九章 ½数(S-Z)
第二十九章的所有½数单页版(A-Z)
第三十章 标准
Perl
第三十一章 用法模块
第三十二章 标准模块
第三十三章 诊断信息
--
LaserHe
- 11 Dec 2005
to top
第零章
Perl
前言
第零章
Perl
前言
1.
½求幸福
2.
这个版本有什么新东西
3.
标准的发布版
4.
在线文档
5.
阅读标准手册页
6.
搜索手册页
7.
Perl
手册页
8.
离线文档
9.
其它资源
9.1 Web
上的
Perl
9.2 Usenet
新闻组
10.
臭虫报告
11.
这本书里用的习惯
12.
感谢
1.
½求幸福
Perl
是一种½完成任务的语言。
½然,如果½的工½就是写程序,那么从理论上来讲,½可以½用任½“完整”的计算机 语言来完成任务。½是从我
们的经验来看,计算机语言的区别很大程度上不在它½干什么 ,而是在它做事情的时候是否简单。从一个极端来
说,那些所谓的第四代语言做某些事情 的时候相½容易,½是做其它一些事情的时候几乎不可½。从另外一个极端
来看,那些所 谓的工业级的语言在做任½事情的时候½几乎一样困难。
Perl
是不同的语言。从一开始,Perl 就设计成可以把简单工½简单化,同时又不失去处 理困难问题½力的语言。
那什么是“简单工½”呢?½然就是那些½每天½要干的。½需要一种可以很容易操½数 字,文本,文件和目½,计
算机和½络,特别是程序的语言。这种语言应该很容易运行外 部的程序并且扫描这些程序的输出获取感兴趣的东
西。而且它还应该很容易½把这些½感 兴趣的东西交给其它程序做特殊的处理。½然,这种语言还应该很容易在任
½现代的操½ 系统上可以移植地编译和运行。
Perl
做到了上述所有需求,甚至更多。
Perl
最初是½做一种
Unix
的胶水语言设计的,½是她早就移植到大多数其它操½系统里 了。因为
Perl
几乎可以
在任½地方运行,所以
Perl
可以说是½今最具有移植性的编程环 境。要想写可移植的
C/C++
程序,½得在程序
里加上一大堆
#ifdef
标签来区分不同的系 统。要想写可移植的
Java
程序,½必须理解每种新的
Java
实现的特
质。要想写可移植的
shell,½可½要记½每条½令在每种操½系统上的语法,走运的时候½可½可以找到一
些公共的东西。而要想写可
移植的
Visual Basic
程序,那么½只需要对“移植”有个更灵 活的定义就可以了。
我们很高兴的是
Perl
避免了所有这些问题,同时还保留了这些语言中的许多优点,同时 还有一些自己的特
色。Perl 的特色来自许多方面:它的特性集的工具,Perl 社区的创造 性,以及开源运动的大环境。不过,许多这
些特性½是混合的东西;Perl 的身世复杂,它 总是把事物看成是优点的不同方面,而不是弱点。Perl 是“背黑锅我
来”的语言。如果½ 觉得自己陷入一团乱麻之中,非常渴望自由,那么请½用
Perl。
Perl
是跨文化的。Perl 的爆炸性增长很大程度上是因为那些前
Unix
系统程序员的渴望, 他们希望从他们的“老
家”带着½可½多的东西。对于他们而言,Perl 是可移植的
Unix
文化蒸馏器,是"此路不通"的沙漠中的绿洲。从
另外一个角度来看,Perl 还可以从另外一 个方向运½:在
Windows
上工½的
web
设计者通常会非常开心地发
现他们的
Perl
程序可 以不加修改地在
Unix
服务器上跑。
½管
Perl
在系统程序员和
web
设计师中间非常流行,½这只是因为是他们最早发现
Perl
的,Perl 可以用于更广
泛的用途。从
Perl
最早的文本处理语言开始,它已经发展成为一 种非常复杂的,通用的编程语言,以及完整的开
发环境,包括调试器,调节器,交叉引用 ,编译器,库,语法提示编辑器,以及所有其它“真正”的编程语言所具有
的所有挂勾, 只要½需要。½然这些东西½是让我们可½处理难的问题的东西,而且很多其它语言也可 以做到这
一点。Perl 之所以成为
Perl
是因为它从来不会因为保持简单事情简单化而丢失 其他方面的特性。
因为
Perl
既强大又½用,所以它被广泛地用于日常生活的方方面面,从宇航工程到分子 生物学,从数学到语言
学,从图½处理到文档处理,从数据库操½到½络管理。很多人用
Perl
进行快速处理那些很难分析或½换的大批量
数据,不管½是处理
DNA
序列,½页, 还是猪肚皮的未来½无所谓。实际上,在
Perl
社区有一个笑话就是,下
次股市大崩盘就 很有可½是呢个家伙写的脚本里头有臭虫造成的。(不过,乐观点来看就是,任½还在失 业的股
票分析师仍然有可以利用的技巧。)
Perl
的成功有许多原因。Perl 早在开源½件的名字出现之前就已经是一个成功的开源项 目了。Perl 是自由的,并
将永远自由下去。½可以在任½合适的场合½用
Perl,只需要
遵守一个非常自由的版权就可以了。如果½在从事商
业活动并且还想½用
Perl,那么用
就是了。½可以把
Perl
嵌入到½写的商业½件中而不需要支付任½费用也没有
任½限制 。如果½碰上一个
Perl
社区解决不了的问题,那½也还有最后的一招:源程序本身。
Perl
社区不会
在“升级”的伪装下租给½它们的商业秘密。而且
Perl
社区也不会“停业
”,更不会让½孤立无援。
Perl
是自由½件这一点无疑对它是有帮助的。½这一条并不足以解释
Perl
现象,因为许 多自由½件包没有½繁荣
起来。Perl 不仅自由;而且½玩。人们觉得自己在
Perl
里可以 有创造力,因为它们有表达的自由:他们可以选择
是为计算机速度优化还是为程序员的速 度优化,是冗长还是简洁,是选择可读性还是可维护性,或者选择复用性,
移植性,接受 性和传授性等等。假如½进入一次模糊的
Perl
比赛,甚至½还可以为模糊性做优化。
Perl
可以给予½所有这些自由,因为它是一门有着分裂人格的语言。Perl 同时是很简单 并且很富有的语言。Perl
从其它地方拿来½主意,然后把它们安装到易用的框架里面。对 于只是喜欢她的人来说,Perl 是实用½取和报表语
言(Practical
Extractoin and Report Language)。对那些热爱她的人而言,她是变态电子垃圾制造者
(Pathologically
Electric Rubbish Lister)。在少数人眼里,Perl
是毫无意义的重复练习。不过世界需要一 点
点冗½。精简主义者总是想把事物分隔开。而我们则总是企图把它们合并到一起。
Perl
之所以是简单的语言是有很多原因的。比如½用不着知道什么特殊的指令就可以编译
Perl
程序--只要把它½
做批处理或者
shell
脚本执行就可以了。Perl 的类型和结构很容易 ½用和理解。Perl 对½的数据没有任½限制-
-½的字串和数组可以要多长就多长(只要½
有足够的内存),而且它们½会自动增长。Perl 不会强迫½学习新的
语法和语意,Perl 改从许多其它½已经熟悉的语言里(比如
C, awk, BASIC
Python,
英文,希腊语等)借 来
语法。实际上,任½程序员½可以从书写良½的
Perl
代码段中读懂它的含义。
最重要的是,½不用先学习所有
Perl
的东西就可以开始写有用的程序。½可以写很小的
Perl
程序。½也可以象小
孩那样写
Perl
程序,我们保证不会笑话½。或者更准确地说是 ,我们绝不会笑话小孩做事情的创造性。Perl 里的
许多观点½是从自然语言中借来的,其 中一条最½的观点就是只要½½把自己的意思表述清楚,那么½就可以½用
这些语言的一 个子集。Perl 文化可以接受任½熟练程度的成员。我们不会在½背后放个语言警察。如果 ½的老板
不炒½,而且½的
Perl
脚本也½完成工½,那么它就是“正确”的。
½管
Perl
很简单,½它仍然是一种特性很丰富的语言,如果½想用那些特性的话,那½ 就要学习一些东西。这也
是把难题变简单的学费。½然½要想把所有
Perl
½做的事情吸 收还需要一些时间,½到½需要这些功½的时候½
就会非常开心地发现
Perl
已经可以做 这些事情了。
由于
Perl
的继承性,就算它只是用做数据½纳语言的时候也有丰富的特性,Perl 一开始 就设计成可以浏览文件,
扫描大量文本并且生成动态数据以及打印出这些数据的良½格式 化的报表。不过,随后
Perl
就开始风行,于是它
就成了可以操½文件系统,进程管理, 数据库管理,进行
C/S
编程和安全编程,web 信息管理,甚至可以进行面
向对象和面向功 ½的编程的语言。而且这些功½并非只是在
Perl
这边,每种新功½½和其它东西交流得 很½,别
忘了
Perl
从一开始就是设计成胶水语言的。
而且
Perl
并不仅仅只½黏合它自己的特性。Perl 是设计成可以用模块扩展的语言。½可 以用
Perl
快速设计,编
写,调试和部½
Perl
应用,并且½还可以在需要的时候很方便地 扩展这些应用。½可以在其它语言里嵌入
Perl,
而且½也可以在
Perl
里嵌入其它语言。 通过模块输入机制,½可以把这些外部的扩展½做内½于
Perl
的特性。
那些面向对象的 外部库在
Perl
内部仍然保持面向对象的特征。
Perl
还在许多其它方面协助½。和严格的每次执行一条½令的½令文件和
shell
脚本不同 的是,Perl 先把½的程
序快速编译成一种内部格式。和其它任½编译器一样,这个时候还 进行各种优化,同时把碰到的任½问题反馈给
½。一旦
Perl
的编译器前端对½的程序表 示满意了,它就把这些中间代码交给解释器执行(或者是给其它的½生
C
或者字节码的 模块后端)。听起来挺复杂,不过
Perl
的编译器和解释器干这些活效率相½高,我们的 编
译-运行-修改的过程几乎½是以秒计。再加上
Perl
的许多其他开发特性,这种快速的 角色½换很适合做快速原型
设计。然后随着½的程序的成熟,½可以逐步拧紧身上的螺母 ,减少散漫增强记律。如果½做得½,Perl 也½帮½
这个忙。
Perl
还可以帮½写更安全的程序。除了其它语言提供的典型的安全接口之外,Perl 还通 过一种跟踪数据的机制给
½提供预防意外安全错误的保护,这样就可以在灾害发生之前预 防其发生。最后,Perl 还可以让½设½一个特殊的
防护隔段运行那些来源不明的
Perl
代 码,以此来杜绝危险操½。
不过,偏执一点儿说,Perl 帮½的大部分内容和
Perl
本身没有什么关系,而是和½用
Perl
的人有关。坦率地
说,Perl 社区的人们可以说是地球上最热心的人了。如果
Perl
运 动里面有那么一点点宗教色½的话,那么这就是
它的核心了。Larry 希望
Perl
社区像一小 片天堂那样运½,目前看来他的愿望基本上是实现了。我们也请½为此
做出自己的努力。
不管½是想拯救地球,还是觉得新鲜,或是½老板½令½学习,这本书½将告诉½一些基 本的和复杂的东西。½然
我们没有故意教½写程序,½是如果½观察力足够强地话,½还 是½找到一些编程的艺术以及一些编程的科学。我
们鼓励½培养下面三条程序员的优点: 懒惰,急躁,和傲慢。看书的同时,我们也希望½½从中找到一些有趣的地
方(以及其它 一些更有趣的地方)。如果这样还不½让½保持清醒,那么就不停提醒自己学习
Perl
可 以增加½的
简历的分量。坚持读下去吧。
2.
这个版本有什么新东西
几乎全部½是新的。
即½是那些以前版本中的相½不错的地方(我们得说有相½不少这样的地方),我们也带 着一些目的做了大量的修
改。首先,我们希望增加本书对那些有着非计算机科学背景的人 士们更有吸引力。我们对读者已知的东西做出的假
设更少了。同时,我们把许多演示做得 更生动,以防那些已经有一定了解的朋友们看着看着就睡着了。
其次,我们希望展示
Perl
本身开发的最新进展。在这个问题上,我们丝毫不因表现我们 ½前的工½为耻,即½我
们展现给½的仍然是试验性的东西。½管
Perl
的核心部分已经 是久经考验的战士了,½是有些开发中的试验性部
分仍然偶尔会非常烫手。在这里我们要 老实告诉½,我们认为在线文档比我们在这里描述的东西更可靠。Perl 是蓝
领阶层的语言 ,所以我们不会因为把铁锹叫成铁铲而觉得脸红。
第三,我们希望½更½自如地往来与书中的各个章节,因此,我们把这个版本分裂成了更 小,更连贯的章节并且把
它们重新组织成有意义的部分。下面是新版本的布局:
第一部分,概述
迈出第一步总是最困难的部分。这一部分向½展现了
Perl
的基本概念,我们½可½地把 门槛放得更½一些。这一
部分不是完整的教程,只是一个快速入门,这样便可以满足所有 人的需要。½可以看看“离线文档”一节获取那些可
½更适合½的学习习惯的书。
第二部分,活生生的细节
这一部分包含对这门语言各个层次½象的深入的讨论,从数据类型,变量,正则表达式, 到子过程,模块和对象。
在这里½可以对这门语言如½工½有更½的了解,同时还可以得 到一些½的程序设计的经验。(如果½从来没有用
过带模式匹配的语言,那么我们就得对 ½另眼相看了。)
第三部分,½为技术的
Perl
½用
Perl
本身可以干很多事情,½这一部分带½到一个更高的境界。在这里½可以学到 如½将
Perl
和那些½的
计算机里的东西联系起来,从处理
Unicode,进程间通讯,以及多
线程,到编译,调用,调试和调谐
Perl,最后
展开预览

猜您喜欢

推荐帖子

评论

登录/注册

意见反馈

求资源

回顶部

推荐内容

热门活动

热门器件

随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
×