前言
第一部分Perl入门
第一章Perl在编程领域中的地位
1.1编程的目的
1.2使计算机进行计算
1.3把我们的语言翻译成计算机语言
1.4计算机语言设计的考虑
1.5Perl的优点
l.6Perl的版本
1.7Perl5.6的新特征
1.8Perl的将来
第二章在计算机上运行Perl
2.1Perl不再只适用于UNIX
2.1.1Perl在不同操作系统上的名称
2.1.2从Internet上获取最新版本
2.2UNIX:Perl的第一个版本
2.2.1确定是否要在UNIX上使用Perl
2.3在UNIX上安装Perl
2.4在UNIX上运行Perl程序
2.5Windows95/98和WindowsNT上的ActivePerl
2.5.1在Windows下安装ActivePerl
2.5.2在DOS窗口中运行ActivePerl
2.6MacPerl:用户所期望的Mac友好界面
2.6.1安装MacPerl
2.6.2运行MacPerl程序
2.7命令行上的Perl
2.7.1输人命令行选项的方法
2.7.2-c选项
2.7.3—w选项
2.7.4—v选项
2.7.5—e选项
2.7.6—i选项
2.7.7—J选项
2.8其他的Perl
第三章Perl内核捐秘
3.1文本编辑器
3.2了解Perl程序的某些基本组件
3.2.1执行一条语句
3.2.2循环
3.2.3插入注释
3.3语句:Perl程序的组成
3.3.1语句的结束
3.3.2语句块
3.3.3操作符和函数
3.4在语句中使用制表符:缩进和间隔
3.4.1缩进显示语句块
3.4.2给命令行添加额外的空格
3.5数字和文本
3.6变量和字面量
3.6.1为什么总是要先给变量赋值
3.6.2Perl的特殊变量
3.6.3默认变元
第四章Perl程序样例
4.1样例程序的内核
4.1.1运行counterl.p1程序
4.1.2查看程序运行的结果
4.2拥有更多功能的第二个程序
4.2.1剖析样例程序
4.2.2运行empdatal.p1样例程序
4.3避免最常见的错误
4.3.1忘记输入分号
4.3.2忘记输入引号
4.3.3输入的圆括号过多或过少
第二部分Perl的基本编程要素
第五章文本
5.1检查工作:print语句
5.2定义字符串
5.3可显示字符串和字符值
5.3.1数值与字符的转换
5.3.2已定义的值和未定义的值
5.3.393个可显示的标准字符
5.3.4文本中的特殊字符
5.4引用文本
5.4.1单引号与双引号的比较
5.4.2引用文本的函数
5.4.3显示许多内容
5.5字符串的处理
5.5.1字符串的相加
5.5.2进行多次拷贝
5.5.3去掉字符串的结尾
5.6简单的字符串转换
5.7从字符串中获取信息
5.8在Perl5.6中的其他字符
5.8.1Unicode和UTF—8
5.8.2在程序中输入UTF—8
5.8.3使用国际通用字符
第六章数字
6.1比较整型和实型
6.2使用Perl的基本数学运算符
6.2.1用于简单计算的运算符
6.2.2圆括号和代数计算
6.2.3正负值运算符
6.2.4指数计算运算符
6.2.5取模运算符
6.3同时进行数学运算和赋值
6.4自动递增和自动递减
6.5简单的数学函数
6.6把数值转换为字符串
6.7在非十进制系统中进行计数
第七章列表
7.1列表基础
7.1.1列表的基本构成
7.1.2字面量列表
7.1.3变量名
7.1.4空列表
7.2指定列表的分隔
7.3使用列表简化基本任务
7.4使用print语句和列表
7.5添加和删除列表元素
7.5.1push和unshift函数
7.5.2shift和pop函数
7.5.3splice函数
7.6用split函数拆分字符串
7.7使用标量变量
7.8应用已有的列表
7.9区别上下文的类型
第八章创建条件和循环
8.1逻辑:If/Then语句和值的比较
8.2条件语句
8.2.1else和elsif语句
8.2.2unless语句
8.2.3条件运算符
8.3循环的使用
8.3.1使用whlie语句来执行循环
8.3.2避免无限循环
8.3.3next和1ast语句
8.3.4for语句
8.3.5map语句
8.4用表达式作为逻辑值
8.4.1open函数
8.4.2短路逻辑:and和or运算符
8.5留心:使用标签在程序中跳转
第九章利用运算符和函数执行高级任务
9.1使用未定义的变量
9.2查找字符串中的子字符串
9.2.1使用substr函数
9.2.2使用index函数
9.2.3使用reindex函数
9.3对文本和数字进行格式化
9.4跟踪则司
9.5使用随机数
9.6使用位级运算符处理位
9.7把列表转换为字符串
9.8重新安排列表
第三部分Perl内核揭秘
第十章Perl和CGI:Web服务器程序揭秘
10.1用Perl编写CGI程序
10.2使用环境变量
10.2.1从变量中获取信息
10.2.2执行查询
10.2.3确定请求的源
10.3从HTML窗体上收集信息
10.3.1获取窗体数据的方法
10.3.2拆分连接在一起的响应
10.3.3提取要用作Perl变量的值
10.4给用户显示输出
10.5创建HTML窗体
10.6使用重定向功能链接到其他站点上
10.7几个其他的环境变量
10.7.1用于其他客户机的信息
10.7.2用于服务器的信息
10.7.3用于用户验证
第十一章文件的输入输出
11.1文件的定义:Perl文件类型
11.2文件的打开和关闭
11.2.1给文件赋予句柄
11.2.2读.写或追加:选择文件打开的模式
11.2.3确定文件是否已经打开
11.2.4打开文件后使用它
11.2.5关闭文件
11.3为不同的操作系统指定文件名和目录
11.4读取文本文件
11.5文本文件的写入
11.6对从文件中获取信息进行测试
11.7在UNIX中移动文件流:标准输入.标准输出和标准错误
11.7.1区分三个主要的文件流
11.7.2在程序中输入输出数据
第十二章文件和目录基础
12.1读写二进制文件
12.1.1跟踪自己在文件中的位置
12.1.2写入二进制文件
12.1.3强迫二进制读
12.1.4一次读取一个字柯
12.2改变文件的属性
12.2.1重命名文件
12.2.2改变文件访问和修改的时间
12.2.3删除文件
12.3文件的组合:按匹配的字符组合文件
12.4UNIX用户可以使用的文件功能
12.4.1chown和chmod的Perl版本
12.4.2用函数创建链接
12.5获取文件中的统计数据
12.6目录:处理文件组
12.6.1打开目录
12.6.2返回目录中的文件名
12.6.3操作目录
12.6.4创建和删除目录
第十三章字符串:类型匹配和规则表达式
13.1规则表达式
13.1.1利用m//操作符进行真—假搜索
13.1.2使语句更简短
13.1.3给指定的匹配字符记数
13.2在规则表达式中进行“非精确”匹配
13.2.1替代匹配
13.2.2把类似的条目用括号括起来
13.2.3使用通配符来匹配字符
13.2.4匹配字符组
13.3位置:在某个特定的地方搜索
13.4使用格式符匹配数字
13.5获取匹配的结果
13.6使用m/操作符的更多编程技巧
13.6.1使用m/操作符和修改符
13.6.2m//操作符中的全程搜索
13.6.3在一个字符串中搜索多行
13.7UNIX用户喜欢的函数
13.8用s///操作符进行简单的替代
13.8.1在替代过程中使用匹配结果
13.8.2在s///操作符的替代文本中使用表达式
13.9使用split函数和更高级的规则表达式
13.9.1引用单词
13.9.2返回split函数的分隔符
13.10杂项转换:使用tr///操作符
第十四章子例程.输入的代码和正常退出
14.1利用子例程节省时间
14.1.1构建子例程
14.1.2使用子例程可节省精力,避免错误
14.1.3局部变量my:使用my和local函数
14.1.4子例程的返回值
14.2把预先编写好的Perl代码输入到程序中
14.2.1给包括进来的文件添加一条需要的语句
14.2.2帮助Perl搜索被包括文件中的库
14.2.3把程序打包到软件包中
14.2.4包括代码,而不是子例程
14.3正常退出Per1程序
14.3.1die函数
14.3.2exit函数
14.3.3构建die和exit语句
第四部分Perl高级议题
第十五章Perl与Web.E—Mail和XML
15.1使用1ibwww—perl库
15.1.1在UNIX上安装1ibwww—perl
15.1.2从Web和FTP上获取文档
15.1.3使用Perl程序测试Web链接
15.1.4使用1ibwww—perl和对象
15.2接收E—Mail
15.2.1访问模块Mail::POP3Client
15.2.2创建一个简单的客户对象
15.2.3处理邮件箱中报表的程序
15.3Web编程展望:Perl和XML
15.3.1XML的定义
15.3.2XML的外观
15.3.3XML和Perl的结合
15.3.4用Perl处理XML
15.3.5使用XML:Parser
15.3.6分析XML文档
第十六章相关阵列和多维列表
16.1相关阵列基础
16.1.1按照条目的键值进行定位
16.1.2相关阵列和标准列表的比较
16.1.3创建相关阵列
16.1.4给相关阵列添加记录
16.1.5删除记录
16.1.6使用keys函数查看记录
16.1.7使用values函数返回值
16.1.8步进each函数
16.1.9查看已有的记录
16.2把相关阵列的数据写入文件
16.3创建多维列表
16.3.1创建二维列表
16.3.2一次访问一个列表元素
16.3.3给二维列表添加行和列
16.4创建包含列表的相关阵列
16.5把多维列表写入文件
16.5.1用于二维列表的文本文件
16.5.2用于多维列表的文本文件
第十七章数据库
17.1使用相关阵列管理数据库
17.2打开数据库
17.3关闭数据库
17.4有关打开和关闭数据库的提示
第十八章使用Perl控制计算机
18.1使用系统
18.1.1获取程序的输出结果
18.1.2使用open函数
18.1.3在MacPerl上运行程序
18.2使用Perl控制Windows和Mac计算机
18.3使用只适合于UNIX的系统函数
18.3.1用户数据库
18.3.2组数据库
第十九章面向对象的Perl
19.1OOP的对象:快速并且一致性更高地编程
19.2定义对象.方法和变元
19.3Perl的对象很容易创建
19.3.1通过use函数打开Perl模块
19.3.2用new子例程创建新对象
19.3.3调用对象的方法
19.4一个真实的对象实例
第五部分有关Perl的十大特征
第二十章编程格式的十条指导方针
20.1Perl创始人的风格
20.2选择操作符
20.3括号的使用
20.4条件的顺序可以非常灵活
20.5有关注释的注释
20.6标准行的处理
20.7注释和代码放在一起
20.8给变量指定描述性的名称
20.9大写还是小写
20.10使用空白行
第二十一章十个非常有用的短Perl程序
21.1集合Unique行
21.2去掉多个空白行
21.3按排列好的顺序打印文件中的文本
21.4打印文件中某个范围内的文本
21.5只列出某个目录中的文件
21.6按大小列出目录
21.7按扩展名对目录排序
21.8创建一个简单的计算器
21.9对列表随机化
21.10生成可记忆的随机口令
第二十二章高级Perl议题
22.1编译好的Perl
22.2页面格式
22.3数据压缩
22.4调试
22.5系统进程
22.6文件处理
22.7Internet函数
22.8高级程序员助手
22.9套接字和通信的其他形式
22.10两个函数的类别
第二十三章十大PerlWeb站点
23.1Perl.com:Perl语言主页
23.2PerlMongers
23.3ThePerlJournal
23.4PerlMonth
23.5TheComprehensivePerlArchiveNetwork
23.6ActiveState
23.7MacPerl
23.8ThePerlArchive
23.91ibwww-Perl
23.10YetAnotherPerlConference
第二十四章Perl5引入的十大高级功能
24.1多维列表
24.2更好的错误消息
24.3对象
24.4程序模块
24.5与C程序交互
24.6POSIX库
24.7改变大小写的函数
24.8map函数
24.9chomp函数
24.10更多的程序员!更多的免费软件
第二十五章Perl比Java更好的十大原因
25.1Perl不需要预先声明变量
25.2Perl使对象成为可有可无的
25.3在Perl中处理字符串非常简单
25.4Perl处理列表也很轻松
25.5Perl可以完成更多的系统任务
25.6Perl是免费的
25.7可以编写许多有效的单行Perl程序
25.8大多数样例Perl程序不仅仅能在浏览器中放置动画图片
25.9Perl程序员不必沉默
25.10Perl与激进的政府政治家无关
第六部分附录
附录APerl的参考资料
附录B关于光盘