首页>参考读物>计算机科学与技术>软件与程序设计

PERL 实例精解(原书第4 版)
作者 : Ellie Quigley
译者 : 陈宗斌
丛书名 : 华章程序员书库
出版日期 : 2008-11-17
ISBN : 7-111-25169-9
定价 : 95.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 710
开本 : 16开
原书名 : Perl by Example,4E
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书提供了学习Perl最容易、最实用的方式。传奇般的硅谷编程讲师Ellie Quigley彻底更新了她的杰作,提供今天的Perl用户所需的大多数技能和信息——包括全新的MySQL数据库程序设计和旨在使经验丰富的用户更上一个台阶的Perl QuickStart。
  Quigley通过有针对性的课堂测试代码示例、详细的逐行解释和真实的程序输出来阐释每种技术。本书结构清晰、通俗易懂。它可以帮助你学会从编写第一个Perl脚本开始,一直到开发数据库驱动的应用程序。它是一本你必备的Perl图书!

  本版的新增内容:
  完全更新的内容:
  ■包括许多新的、完全重写的代码示例。
  ■包括全面修订了CGI介绍,以利用Perl构建动态Web站点。
  ■涵盖了现代的Perl 5.8的概念和原理,并为Perl 6打下了极好的基础。
  ■三万多名系统管理员、高级用户和开发人员使用了本书的以前版本而成为专家级的Perl程序员。通过学习本书,你也可以做到这一点,即使你对Perl一无所知。在成为一名专家之后,你还将频繁地翻阅本书,因为它是可靠答案、解决方案和代码的最佳来源。

  本书示例代码可在机工新阅读网站(http://hzbook.com)上下载。

图书特色

图书前言

读者或许想知道,为什么本书又出新版本? Perl 5 的变化并不太大;事实上,自从本书第3 版之后,其变化就已经很小了。Perl 6 还没有正式发布,那作者为什么不再等等呢?假设读者在6 年前购买了一台Whirlpool 洗衣机。这台洗衣机一直运行得很好。但从那时起,洗涤的衣物则是换了一茬又一茬。读者现在可能已是时尚一族,拥有出自名家之手的被褥或拖鞋,并用上了低刺激性、无毒
无害且能生物降解的洗衣粉。而这些都是当初在购买这台洗衣机时无法预料到的。尽管Perl 5 的变化很小,但整个计算机世界却已经翻天覆地。新革新、新技术、新应用乃至新时尚不断涌现,程序则不得不迎合这些变化。当从GenBank 序列数据库中分析数据、为iPhone 编写程序、在“myspace”上撰写个人blog、或者适应新的Windows Vista 时,都会涉及某些计算机程序,它们很可能就是由Perl 编写的。无论如何,我们都必须跟上时代的步伐。这个新版本恰恰是为了达到上面这个目标。
  笔者目前正在位于加州Sunnyvale 的UCSC1 分校讲授Per,台下的学员则是来自硅谷各处的专业人士。笔者总会在第一节课上提出这样一个问题:“你为什么要学习Perl ?”回答是各式各样的,譬如:“我们公司在Web 上有个拍卖站点,而我是网络管理员,需要用Perl 和Apache 处理订单信息,并发送给Oracle”,“我在Stanford 的基因研究小组工作,需要处理大量数据。我听说只要学好Perl,就不用再找其他程序员来干这个了”,“我是UN X/Linux 管理员,而我们公司刚刚决定所有管理脚本都必须更改为Perl 形式”,或者“我刚刚遭到解雇,听说在个人简历里加上Perl 是绝对必要的”。最让笔者惊讶的是,这些Perl 学员来自于各种不同的行业:工程师、科学家、基因研究者、气象学家、经理、销售员、程序员、教师、硬件人员、学生、证券商、各类管理员、作家、
银行家和艺术家等。Perl 能为所有人服务,并能胜任各种工作。
  不论是谁都得承认:一图胜千言,实例也是如此。本书致力于通过完整而简洁的实例片断来向读者灌输有关Perl 的知识。这些脚本实例的每一行都拥有自己的行号,其中一些重要的行还通过黑体字突出显示出来。后面是带有行号的程序输出内容,其行号对应于脚本的行号。再后则是单独的对每一行输出的解释。这些实例都短小精悍,并紧扣正在介绍的主题。由于本书主要是用作Perl 课堂上的学生指南,因此书中各个主题都进行了合理的划分。每一章都建立在前一章的基础上,并尽量避免引用后面的内容,同时在主题和主题之间维护较好的逻辑次序。各章结尾处都提供了一些练习。读者可以在华章网站上找到所有的书中实例,网址为www.hzbook.com。这些实例都已经在主流平台上得到了充分的测试。
  本书并不仅仅是一本初学者指南,而且是一本对Perl 的完整指南。它涵盖了Perl 的方方面面,从正则表达式的处理,到报表的格式化,乃至进程间通信。它将教会读者使用Perl,并在此过程中介绍大量有关Linux 和Windows 的知识。由于Perl 最初是针对UN X 系统编写的,因此拥有一些UN X 背景知识将大大加速学习的进程,不过这并不是说要读者成为UN X 专家。任何期望读、写或仅仅是维护Perl 程序的人士都能从本书中受益匪浅。
  Perl 拥有丰富的函数,能够处理字符串、数组、系统接口、网络等。为方便读者理解这些函数的功能,本书在展示函数示例程序前还提供了一些有关该函数的背景信息。这样就能避免出现读者为了获取背景知识、参数含义和函数用途而不得不频繁查阅手册和其他书籍的尴尬情况。
  本书附录中含有有关函数定义、命令行开关、特殊变量、常见模块和Perl 调试器的完整列表;给出了一段介绍BioPerl 模块的说明性文字;还提供了一组有关mod_perl 的说明文档,其中mod_ perl是一种快速建立服务器端Perl 脚本的方式,它能满足通用网关接口(Common Gateway nterface,CG )的实际需求。
  笔者在过去的30 年间一直在教书,因此非常了解人们是如何学习的。在讲授了超过14 年的Perl 之后,笔者发现很多Perl 初学者往往会在自学编程时感到灰心丧气。笔者发现,对于绝大多数人而言,最好的学习方法莫过于从简洁的小示例和实践中入门。因此,笔者撰写了这样一本书,以帮助自己和学生学习Perl,同样也帮助读者学习它。随着Perl 的不断发展,本书也在不断修订。在这本最新出版的第4 版中,新增了一章介绍基于MySQL 的Perl 与DB 组件的内容,修订了Perl 对象相关章节,并在其他章节中添加了很多示例和解释,以便让它们显得更为新颖和有趣。本书附录部分也经过了修订,包含了有关BioPerl 和mod_perl 的内容。在本书中,读者将不仅学会Perl,还将节省大量时间。至少笔者的很多学生和读者都这么说。究竟本书怎么样,读者您说了算。

封底文字

本书提供了学习Perl最容易、最实用的方式。传奇般的硅谷编程讲师Ellie Quigley彻底更新了她的杰作,提供今天的Perl用户所需的大多数技能和信息——包括全新的MySQL数据库程序设计和旨在使经验丰富的用户更上一个台阶的Perl QuickStart。 Quigley通过有针对性的课堂测试代码示例、详细的逐行解释和真实的程序输出来阐释每种技术。本书结构清晰、通俗易懂。它可以帮助你学会从编写第一个Perl脚本开始,一直到开发数据库驱动的应用程序。它是一本你必备的Perl图书! 本版的新增内容: 完全更新的内容: ■包括许多新的、完全重写的代码示例。 ■包括全面修订了CGI介绍,以利用Perl构建动态Web站点。 ■涵盖了现代的Perl 5.8的概念和原理,并为Perl 6打下了极好的基础。 ■三万多名系统管理员、高级用户和开发人员使用了本书的以前版本而成为专家级的Perl程序员。通过学习本书,你也可以做到这一点,即使你对Perl一无所知。在成为一名专家之后,你还将频繁地翻阅本书,因为它是可靠答案、解决方案和代码的最佳来源。 本书示例代码可在华章网站(http://hzbook.com)上下载。

作者简介

Ellie Quigley:Ellie Quigley: 在硅谷讲授脚本语言已有20多年。她在Santa Cruz Extension大学讲授的Perl和Shell程序设计课程已经成为硅谷学识的一部分。她所著的畅销书包括:《UNIX Shells by Example, Fourth Edition》、《PHP and MySQL by Example》(与Marko Gargenta合著)和《JavaScript by Example》。

译者简介

陈宗斌:暂无简介

译者序

Perl 程序设计语言最初是UN X 系统管理员的工具,用于处理日常的繁琐事务。时至今日,Perl已发展成一套功能齐备的程序语言,横跨所有的操作平台,其用途已不仅仅限于处理日常事务,目前已经扩展到涵盖了Web 程序设计、数据库操作、XML 处理以及系统管理等方面。
  顾名思义,本书使用示例来全面介绍Perl 语言,其内容包含Perl 的所有主题。本书对每个主题都使用了示例说明,从Perl 变量、正则表达式,到编写报表、CG 脚本和网络应用,并对示例程序进行了解释。读者可以很容易地通过这些示例掌握Perl 语言的语法。附录含有完整的函数和定义、命令行开关、特殊变量、常见模块和Perl 调试器的列表,全功能的、面向对象的CG 程序,一些
有用的脚本以及很有帮助的HTML 教程。
  本书不仅是一本初学者指导,而且是关于Perl 的完整指南,它包含了Perl 应用的很多方面,从正则表达式处理到格式化报表,再到进程间通信等。由于Perl 原本是为UN X 编写的,具有一些UN X 知识会大大加快学习Perl 的进程。任何读、写或只是维护Perl 程序的人都能极大地从本书受益。开发人员可以通过借鉴本书的示例来编写良好的Perl 程序,甚至可以在实际工作中直接使用本
书中的示例程序,从而大大节省了开发人员的时间,并且能有效地避免编程错误。
本书内容简洁、示例丰富,非常适合于Perl 语言初学者阅读,对于Perl 程序员,也有很大的参考价值。
  参加本书翻译的人员有:陈宗斌、乔健、张景友、易小丽、陈婷、管学岗、王新彦、金惠敏、张海峰、徐晔、戴锋、张德福、张士华、张锁玲、杜明宗、高玉琢、王涛、申川、孙玲、李振国、高德杰、宫飞、侯经国、刘淑妮、张春林、李大成、程明、张路红、张淑芝、孙先国、刘冀得、梁永翔、张广东、郁琪琳、邵长凯、蒲书箴、潘曙光、刘瑞东、李军、焦敬俭、赵中元、金鑫、赵宏伟、张宏顺、尹周、王开年、贾震、陆晓萍、金国良、俞群。
  由于时间紧迫,加之译者水平有限,错误在所难免,恳请广大读者批评指正。

图书目录

对Ellie Quigley 著作的赞誉
译者序
前 言
致 谢
第1 章 实用摘要和报表语言 ………… 1
1.1 什么是Perl …………………………… 1
1.2  什么是解释语言 ……………………… 2
1.3 Perl 的用户 …………………………… 2
1.3.1 Perl 的版本 ……………………… 3
1.3.2 什么是Perl 6 ……………………… 3
1.4 如何获得Perl ………………………… 4
1.5 什么是CPAN ………………………… 7
1.6  Perl 文档 ……………………………… 8
1.6.1 Perl 的man 页面 ………………… 8
1.6.2 HTML 文档 ……………………… 9
1.7 读者应当学到的知识 ………………… 9
1.8 下章简介 …………………………… 10
第2 章 Perl 快速入门 ………………… 11
2.1 快速入门和速查手册 ……………… 11
2.1.1 给程序员的提示 ……………… 11
2.1.2 给非程序员的提示 …………… 11
2.1.3 Perl 语法和结构 ……………… 11
2.2 本章小结 …………………………… 23
2.3 下章简介 …………………………… 23
第3 章 Perl 脚本 ……………………… 24
3.1 创建脚本 …………………………… 24
3.2 脚本 ………………………………… 25
3.2.1 启动 …………………………… 25
3.2.2 选择文本编辑器 ……………… 26
目  录
3.2.3 为Perl 脚本取名 ……………… 26
3.2.4 语句、空白和换行 …………… 27
3.2.5 注释 …………………………… 27
3.2.6 Perl 语句 ……………………… 28
3.2.7 使用Perl 内建函数 …………… 28
3.2.8 执行脚本 ……………………… 28
3.2.9 脚本实例 ……………………… 29
3.2.10 可能出现的错误 ……………… 30
3.3 从命令行使用Perl ………………… 31
3.3.1 -e 开关 ………………………… 31
3.3.2 -n 开关 ………………………… 31
3.3.3 -c 开关 ………………………… 33
3.4 读者应当学到的知识 ……………… 33
3.5 下章简介 …………………………… 34
第4 章 获得打印句柄 ………………… 35
4.1 文件句柄 …………………………… 35
4.2 字(Word) ………………………… 35
4.3 print 函数 …………………………… 35
4.3.1 引号 …………………………… 36
4.3.2 实量(常量) ………………… 38
4.3.3 打印实量 ……………………… 40
4.3.4 warning 编译指示符和
-w 开关 ………………………… 42
4.3.5 diagnostics 编译指示符 ……… 44
4.3.6 strict 编译指示符 ……………… 44
4.4 printf 函数 ………………………… 45
4.4.1 sprintf 函数 …………………… 48
4.4.2 无引号打印:here 文档 ……… 48
4.5 读者应当学到的知识 ……………… 51
4.6 下章简介 …………………………… 51
第5 章  变量 …………………………… 53
5.1  Perl 变量简介 ……………………… 53
5.1.1 类型 …………………………… 53
5.1.2 作用域和包 …………………… 53
5.1.3 命名规范 ……………………… 54
5.1.4 赋值语句 ……………………… 54
5.1.5 引号规范 ……………………… 55
5.2 标量、数组和散列 ………………… 59
5.2.1 标量型变量 …………………… 59
5.2.2 数组 …………………………… 61
5.2.3 散列 …………………………… 67
5.2.4 复杂数据结构 ………………… 70
5.3 从STD N 读取输入 ……………… 72
5.3.1 把输入内容赋值给标量型变量 … 72
5.3.2 chop 与chomp 函数 …………… 73
5.3.3 read 函数 ……………………… 74
5.3.4 getc 函数 ……………………… 75
5.3.5 将输入内容赋予数组 ………… 75
5.3.6 将输入内容赋予散列 ………… 76
5.4 数组函数 …………………………… 77
5.4.1 chop 和chomp 函数
(用于列表) …………………… 77
5.4.2 exists 函数 …………………… 78
5.4.3 delete 函数 …………………… 78
5.4.4 grep 函数 ……………………… 78
5.4.5  join 函数 ……………………… 79
5.4.6 map 函数 ……………………… 80
5.4.7 pack 和unpack 函数 ………… 81
5.4.8 pop 函数 ……………………… 82
5.4.9 push 函数 ……………………… 83
5.4.10 shift 函数 …………………… 83
5.4.11 splice 函数 …………………… 84
5.4.12 split 函数 ……………………… 85
5.4.13 sort 函数 ……………………… 88
5.4.14 reverse 函数 ………………… 90
5.4.15 unshift 函数 ………………… 91
5.5 散列(关联数组)函数 …………… 91
5.5.1  keys 函数 ……………………… 91
5.5.2 values 函数 …………………… 92
5.5.3 each 函数 ……………………… 93
5.5.4 对散列进行排序 ……………… 93
5.5.5 delete 函数 …………………… 98
5.5.6 exists 函数 …………………… 99
5.6 有关散列的更多内容 ……………… 99
5.6.1 从文件载入散列 ……………… 99
5.6.2 特殊散列变量 ………………… 100
5.6.3 上下文(Context) …………… 102
5.7 读者应当学到的知识 ……………… 103
5.8 下章简介 …………………………… 104
第6 章 运算符 ………………………… 106
6.1 关于Perl 运算符 …………………… 106
6.2 混合数据类型 ……………………… 106
6.3 优先级和结合性 …………………… 108
6.3.1 赋值运算符 …………………… 109
6.3.2 关系运算符 …………………… 111
6.3.3 相等性运算符 ………………… 113
6.3.4 逻辑运算符(短路运算符) …… 115
6.3.5 逻辑字运算符 ………………… 117
6.3.6 算术运算符 …………………… 118
6.3.7  自动递增与自动递减运算符 … 119
6.3.8 位逻辑运算符 ………………… 121
6.3.9 条件运算符 …………………… 123
6.3.10 范围运算符 …………………… 125
6.3.11 特殊字符串运算符和函数 …… 125
6.3.12 算术函数 ……………………… 127
6.4 读者应当学到的知识 ……………… 130
6.5 下章简介 …………………………… 131
第7 章 条件 …………………………… 133
7.1  控制结构、块与复合语句 ………… 133
7.2 循环 ………………………………… 138
7.2.1 while 循环 ……………………… 138
7.2.2 until 循环 ……………………… 139
7.2.3 for 循环 ………………………… 141
7.2.4 foreach 循环 …………………… 143
7.2.5 循环控制 ……………………… 146
7.2.6 switch 语句 …………………… 152
7.3 读者应当学到的知识 ……………… 155
7.4 下章简介 …………………………… 155
第8 章 正则表达式——模式匹配 …… 156
8.1 什么是正则表达式 ………………… 156
8.2 表达式修饰符与简单语句 ………… 156
8.2.1 条件修饰符 …………………… 157
8.2.2 DATA 文件句柄 ……………… 158
8.2.3 循环修饰符 …………………… 160
8.3 正则表达式运算符 ………………… 161
8.3.1 m 运算符与匹配 ……………… 162
8.3.2 s 运算符与替换 ……………… 167
8.3.3 模式绑定运算符 ……………… 174
8.4 读者应当学到的知识 ……………… 179
8.5 下章简介 …………………………… 179
第9 章  正则表达式元字符 ………… 181
9.1 正则表达式元字符 ………………… 181
9.1.1 表示单个字符的元字符 ……… 183
9.1.2 空白元字符 …………………… 190
9.1.3 重复模式匹配元字符 ………… 192
9.1.4 tr 或y 函数 …………………… 213
9.2 Unicode ……………………………… 216
9.3 读者应当学到的知识 ……………… 218
9.4 下章简介 …………………………… 218
第10 章 获得文件句柄 ……………… 220
10.1 用户定义文件句柄 ……………… 220
10.1.1 打开文件:open 函数 ……… 220
10.1.2 打开文件读取 ………………… 220
10.1.3 打开文件写入 ………………… 224
10.1.4 Win32 二进制文件 …………… 225
10.1.5 打开文件追加 ………………… 226
10.1.6 select 函数 …………………… 227
10.1.7 使用flock 为文件加锁 ……… 228
10.1.8 seek 和tell 函数 ……………… 229
10.1.9 打开文件读写 ………………… 233
10.1.10 打开管道 …………………… 234
10.2 参数传递 ………………………… 239
10.2.1 ARGV 数组 ………………… 239
10.2.2  ARGV 与Null 文件
句柄 …………………………… 241
10.2.3 eof 函数 ……………………… 243
10.2.4 -i 开关:原位编辑文件 ……… 245
10.3 文件测试 ………………………… 246
10.4 读者应当学到的知识 …………… 248
10.5 下章简介 ………………………… 249
第11 章 子例程与函数 ……………… 250
11.1 子例程/ 函数 ……………………… 250
11.2 参数传递 …………………………… 254
11.2.1 原型 …………………………… 260
11.2.2 返回值 ………………………… 262
11.2.3 上下文和子例程 ……………… 263
11.3 按引用调用 ………………………… 265
11.3.1 符号引用- typeglob ………… 265
11.3.2 硬引用-指针 ………………… 269
11.3.3 自动加载 ……………………… 273
11.3.4 BEG N 和END 子例程
(开始与结束) ……………… 275
11.3.5 subs 函数 ……………………… 275
11.4 读者应当学到的知识 ……………… 276
11.5 下章简介 …………………………… 276
第12 章 模块化、打包并发送到库 … 278
12.1 包和模块 ………………………… 278
12.1.1 引言 …………………………… 278
12.1.2 一个类比 ……………………… 278
12.1.3 定义 …………………………… 278
12.1.4 符号表 ………………………… 279
12.2 标准Perl 库 ……………………… 284
12.2.1 @ NC 数组 …………………… 284
12.2.2 包和.pl 文件 ………………… 286
12.2.3 模块和.pm 文件 ……………… 290
12.2.4 导出和导入 …………………… 290
12.2.5 如何“use”来自标准Perl 库的
模块 …………………………… 295
12.2.6 使用Perl 创建自己的模块 …… 298
12.3 来自CPAN 的模块 ……………… 299
12.4 读者应当学到的知识 …………… 305
12.5 下章简介 ………………………… 306
第13 章 这项工作需要引用吗 ……… 308
13.1 什么是引用,什么是指针 ……… 308
13.1.1 符号引用和硬引用 …………… 308
13.1.2 硬引用,指针 ………………… 310
13.1.3 引用和匿名变量 ……………… 312
13.1.4 嵌套数据结构 ………………… 313
13.1.5 引用和子例程 ………………… 318
13.1.6 文件句柄引用 ………………… 320
13.1.7 ref 函数 ……………………… 321
13.2 读者应当学到的知识 …………… 323
13.3 下章简介 ………………………… 323
第14 章 面向对象的Perl …………… 325
14.1 OOP 范例 ………………………… 325
14.1.1 回顾包与模块 ………………… 325
14.1.2 一些面向对象的专用
术语 …………………………… 326
14.2 类、对象和方法 ………………… 326
14.2.1 现实世界 ……………………… 326
14.2.2 步骤 …………………………… 327
14.2.3 类和私有性 …………………… 327
14.2.4 对象 …………………………… 328
14.2.5 bless 函数 …………………… 330
14.2.6 方法 …………………………… 331
14.2.7 面向对象的模块样式 ………… 332
14.2.8 多态性和动态绑定 …………… 341
14.2.9 析构函数和垃圾收集 ………… 346
14.3 匿名子例程、闭包和私有性 …… 347
14.3.1 什么是闭包 …………………… 348
14.3.2 闭包和对象 …………………… 349
14.4 继承 ……………………………… 353
14.4.1 @ SA 数组和调用方法 ……… 353
14.4.2 $AUTOLOAD、sub AUTOLOAD
和UN VERSAL ……………… 355
14.4.3 派生类 ………………………… 357
14.4.4 多重继承 ……………………… 362
14.4.5 重写父类方法 ………………… 362
14.5 公共用户接口:文档类 ………… 364
14.5.1 pod 文件 ……………………… 364
14.5.2 pod 命令 ……………………… 365
14.5.3 如何使用pod 解释器 ………… 366
14.5.4 将pod 文档转译为文本 ……… 367
14.5.5 将pod 文档转译为HTML …… 368
14.6 使用Perl 库中的对象 …………… 368
14.6.1 另眼看标准Perl 库 ………… 368
14.6.2 一个来自标准Perl 库的面向
对象模块 ……………………… 369
14.6.3 使用标准Perl 库中的模块 …… 371
14.7 读者应当学到的内容 …………… 372
14.8 下章简介 ………………………… 373
第15 章 神奇的Tie 和DBS ………… 377
15.1 连接变量与类 …………………… 377
15.1.1 tie 函数 ……………………… 377
15.1.2 预定义方法 …………………… 378
15.1.3 连接标量 ……………………… 378
15.1.4 连接数组 ……………………… 380
15.1.5 连接散列 ……………………… 382
15.2 DBM 文件 ………………………… 386
15.2.1 创建并赋值DBM 文件 ……… 387
15.2.2 从DBM 文件中检索数据 …… 389
15.2.3 从DBM 文件删除项 ………… 390
15.3 读者应当学到的知识 …………… 392
15.4 下章简介 ………………………… 392
第16 章  CG 和Perl:超级活力
双雄 …………………………… 393
16.1 静态和动态Web 页面 …………… 393
16.2 工作原理 ………………………… 395
16.3 使用HTML 创建Web 页面 ……… 399
16.4 HTML 和CG 如何协作 ………… 403
16.4.1 简单CG 脚本 ……………… 403
16.4.2 错误日志文件 ………………… 405
16.5 控制信息出入CG 脚本 ………… 406
16.6 CG 和表单 ……………………… 409
16.6.1 表单输入类型 ………………… 410
16.6.2 创建HTML 表单 …………… 410
16.6.3 GET 方法 …………………… 413
16.6.4 处理编码数据 ………………… 416
16.6.5 总结 …………………………… 418
16.6.6 POST 方法 …………………… 421
16.6.7 处理电子邮件 ………………… 424
16.7 CG .pm 模块 ……………………… 427
16.7.1 简介 …………………………… 427
16.7.2 优点 …………………………… 428
16.7.3 使用CG .pm 编程的两种形式 … 428
16.7.4 重要警示 ……………………… 430
16.7.5 HTML 表单方法 …………… 431
16.7.6 CG .pm 如何处理表单 ……… 436
16.7.7 CG .pm 表单元素 …………… 441
16.7.8 生成表单输入字段的方法 …… 442
16.7.9 错误处理 ……………………… 453
16.7.10 HTTP 首部方法 …………… 455
第17 章  当Perl 遇见MySQL:
完美的连接 ………………… 460
17.1 简介 ……………………………… 460
17.2 什么是关系型数据库 …………… 460
17.2.1 客户端/ 服务器型数据库 …… 461
17.2.2 关系型数据库的组成部分 …… 462
17.2.3  通过SQL(结构化查询语言)
访问数据库 …………………… 466
17.3 MySQL 入门 ……………………… 468
17.3.1 为何选用MySQL …………… 468
17.3.2 安装MySQL ………………… 468
17.3.3  连接MySQL ………………… 468
17.3.4 图形化用户界面 ……………… 470
17.3.5 寻找数据库 …………………… 472
17.3.6 基本命令入门 ………………… 474
17.4 什么是Perl DB …………………… 487
17.4.1 安装DB ……………………… 488
17.4.2 DB 类方法 …………………… 493
17.4.3 如何使用DB ………………… 495
17.4.4 连接和断开数据库 …………… 495
17.4.5 disconnect() 方法 …………… 497
17.4.6 准备语句句柄并获取结果 …… 497
17.4.7 处理引号 ……………………… 500
17.4.8 获取错误消息 ………………… 501
17.5 不返回数据的语句 ……………… 509
17.6 事务 ……………………………… 513
17.7  使用CG 和DB 选择并显示
记录项 …………………………… 515
17.8 还有哪些内容 …………………… 518
17.9 读者应当学到的知识 …………… 519
17.10 下章简介 ………………………… 520
第18 章 与系统交互 ………………… 523
18.1 系统调用 ………………………… 523
18.1.1 目录和文件 …………………… 524
18.1.2 目录和文件属性 ……………… 526
18.1.3 查找目录和文件 ……………… 528
18.1.4 创建目录——mkdir 函数 …… 530
18.1.5 删除目录——rmdir 函数 …… 531
18.1.6 更改目录——chdir 函数 …… 532
18.1.7 通过目录文件句柄访问目录 … 533
18.1.8 权限和所有权 ………………… 535
18.1.9 硬链接和软链接 ……………… 538
18.1.10 更改文件名 ………………… 541
18.1.11 更改访问与修改时间 ……… 541
18.1.12 文件统计量 ………………… 542
18.1.13 底层 /O 文件 ……………… 544
18.1.14 压缩和解压缩数据 ………… 546
18.2 进程 ……………………………… 550
18.2.1 UN X 进程 …………………… 551
18.2.2 Win32 进程 …………………… 552
18.2.3 环境(UN X 和Windows) … 552
18.2.4 进程和文件句柄 ……………… 554
18.2.5 进程优先级和Nice 值 ……… 556
18.2.6 口令信息 ……………………… 557
18.2.7 时间和进程 …………………… 561
18.2.8 UN X 进程创建 ……………… 564
18.2.9 Win32 进程创建 ……………… 568
18.3 与操作系统交互的其他途径 …… 570
18.3.1 syscall 函数和h2ph 脚本 …… 571
18.3.2 命令替换——反引号 ………… 572
18.3.3 Shell.pm 模块 ………………… 572
18.3.4 system 函数 ………………… 573
18.3.5 here 文档 ……………………… 575
18.3.6  Glo b b in g ( 文件名扩展和通
配符) ………………………… 575
18.4 错误处理 ………………………… 577
18.4.1 die 函数 ……………………… 577
18.4.2 warn 函数 …………………… 578
18.4.3 eval 函数 ……………………… 578
18.5 信号 ……………………………… 581
18.6 读者应当学到的知识 …………… 584
18.7 下章简介 ………………………… 585
第19 章 借助形象行编写报表 ……… 586
19.1 模板 ……………………………… 586
19.1.1 定义模板的步骤 ……………… 586
19.1.2 更改文件句柄 ………………… 588
19.1.3 页眉格式 ……………………… 589
19.1.4 select 函数 …………………… 593
19.1.5 多行字段 ……………………… 595
19.1.6  填充字段 …………………… 595
19.1.7 动态报表编写 ………………… 597
19.2 读者应当学到的知识 …………… 598
19.3 下章简介 ………………………… 599
第20 章 通过网络发送 ……………… 600
20.1 网络与Perl ………………………… 600
20.2 客户端/ 服务器模型 ……………… 600
20.3 网络协议(TCP/ P) ……………… 600
20.3.1 以太网协议(硬件) ………… 600
20.3.2  nternet 协议( P) ………… 601
20.3.3 传输控制协议(TCP) ……… 601
20.3.4 用户数据报协议(UDP) …… 601
20.4 网络寻址 ………………………… 601
20.4.1 以太网地址 …………………… 601
20.4.2  P 地址 ……………………… 602
20.4.3 端口号 ………………………… 602
20.4.4 Perl 协议函数 ………………… 602
20.4.5 Perl 的服务器函数 …………… 603
20.4.6 Perl 的主机信息函数 ………… 605
20.5 套接字 …………………………… 607
20.5.1 套接字的类型 ………………… 607
20.5.2 套接字域 ……………………… 607
20.5.3 创建套接字 …………………… 608
20.5.4 绑定地址和套接字名 ………… 609
20.5.5 创建套接字队列 ……………… 609
20.5.6 等待客户端请求 ……………… 609
20.5.7 建立套接字连接 ……………… 610
20.5.8 关闭套接字 …………………… 610
20.6 客户端/ 服务器程序 ……………… 611
20.6.1  同一台计算机上面向连接的
套接字 ………………………… 611
20.6.2  远程计算机( nternet 客户端和
服务器)上面向连接的
套接字 ……………………… 614
20.7 Socket.pm 模块 …………………… 617
20.8 读者应当学到的知识 …………… 621
附录A  Perl 内建函数、编译指示、
模块和调试器 ………………… 622
附录B SQL 语言入门 ………………… 654
附录C Perl 和生物学 ………………… 692
附录D  强悍与速度:CG 和
mod_Perl ………………………… 699

教学资源推荐
作者: (美)Mary Campione,Kathy Walrath,Alison Huml
作者: [英]理查德·伯德(Richard Bird) 著
作者: 辛运帏 高宁 徐文拴 等编著
参考读物推荐
作者: 许晓斌 著
作者: Bjarne Stroustrup
作者: 赵军 等编著