前言 1
第一章 简介 9
问题和答案 9
“Perl”代表什么意思? 12
如何得到Perl ? 17
如何写一个Perl程序? 22
Perl的旋风式旅行 27
习题 29
第二章 标量数据 30
什么是标量数据? 30
数字 31
字符串 34
Perl的内置警告 38
标量变量 39
用print输出 42
if控制结构 47
取得用户输入 49
chomp操作符 50
while控制结构 51
undef值 51
defined函数 53
习题 53
第三章 列表和数组 55
访问数组的元素 56
特殊的数组索引 57
列表直接量 58
列表赋值 61
在字符串中替换数组 64
foreach控制结构 65
Perl最喜欢的缺省变量:$_ 66
标量和列表上下文 68
列表上下文中的<STDIN> 72
习题 74
第四章 子例程 75
系统与用户函数 75
定义一个子例程 76
调用子例程 77
返回值 77
参数 80
子例程中的私有变量 81
local操作符 82
可变长参数列表 84
词法(my)变量的说明 87
use strict pragma 88
return操作符 90
习题 93
第五章 散列 94
什么是散列? 94
散列元素访问 98
散列函数 103
散列的典型使用 106
习题 108
第六章 I/O基础 109
从标准输入进行输入 109
从钻石操作符进行输入 112
调用参数 114
向标准输出进行输出 115
用printf进行格式化的输出 119
习题 122
第七章 正则表达式的概念 124
什么是正则表达式? 124
使用简单的模式 126
一个模式测试程序 129
习题 130
第八章 正则表达式提高 132
字符类 132
通用数量符 135
锚位符 135
记忆的小括号 137
优先级 140
习题 142
第九章 使用正则表达式 143
使用m//进行匹配 143
选项修饰符 144
绑定操作符=~ 145
在模式中替换 146
匹配变量 148
用s///进行替换 152
split操作符 155
join函数 157
习题 158
第十章 更多的控制结构 160
unless控制结构 160
until控制结构 162
表达式修饰符 162
裸块控制结构 164
elsif子句 165
自递增与自递减 166
for控制结构 168
循环控制 172
逻辑操作符 177
习题 182
第十一章 文件句柄和文件测试 183
什么是文件句柄? 183
打开一个文件句柄 185
用die表明致命错误 188
使用文件句柄 191
重新打开一个标准文件句柄 193
文件测试 194
习题 205
第十二章 目录操作 206
改变目录树 206
glob 207
glob的另一种语法 209
目录句柄 210
递归的目录列表 212
习题 212
第十三章 处理文件和目录 213
删除文件 213
重命名文件 215
链接和文件 217
建立和删除目录 222
修改权限 225
改变所有者 225
改变时间戳 226
使用简单的模块 227
习题 232
第十四章 进程管理 234
system函数 234
exec函数 238
环境变量 240
使用反引号捕获输出 241
文件句柄形式的进程 245
用fork进行深入和复杂的工作 247
发送和接收信号 248
习题 251
第十五章 字符串与排序 252
用index寻找子字符串 252
用substr处理一个子字符串 254
用sprintf格式化数据 256
高级排序 258
习题 265
第十六章 简单数据库 267
DBM文件和DBM散列 267
用pack和unpack处理数据 270
固定长度的随机访问数据库 271
可变长(文本)数据库 275
习题 280
第十七章 一些高级Perl技术 281
用eval捕获错误 281
用grep从一个列表中选择条目 284
用map转换一个列表的条目 286
不加引号的散列键 287
更强大的正则表达式 288
切片 291
习题 297
附录一 习题答案 299
附录二 尚未谈到的主题 334
词汇表 359