分类: PERL
2013-05-23 10:23:28
目录
译者序 V
前 言 VI
致谢 VII
第1章 实用摘要和报表语言 1
1.1 什么是Perl 1
1.2 什么是解释语言 2
1.3 Perl的用户 2
1.3.1 Perl的版本 3
1.3.2 什么是Perl6 3
1.4 如何获得Perl 4
1.4.1 Perl的可用版本 4
1.5 什么是CPAN 5
1.6 Perl文档 5
1.6.1 Perl的man页面 5
1.6.2 HTML文档 6
1.7 读者应当学到的知识 7
1.8 下章简介 7
第2章 Perl快速入门 8
2.1 快速入门和速查手册 8
2.1.1 给程序员的提示 8
2.1.2 给非程序员的提示 8
2.1.3 Perl语法和结构 8
2.2 本章小结 16
2.3 下章简介 16
第3章 Perl脚本 17
3.1 创建脚本 17
3.2 脚本 17
3.2.1 启动 17
3.2.2 选择文本编辑器 19
3.2.3 为Perl脚本取名 19
3.2.4 语句、空白和换行 19
3.2.5 注释 20
3.2.6 Perl语句 20
3.2.7 使用Perl内建函数 21
3.2.8 执行脚本 21
3.2.9 脚本实例 21
3.2.10 可能出现的错误 22
3.3 从命令行使用Perl 23
3.3.1 -e开关 24
3.3.2 -n开关 24
3.3.3 -c开关 25
3.4 读者应当学到的知识 26
3.5 下章简介 26
第4章 获得打印句柄 27
4.1 文件句柄 27
4.2 字(Word) 27
4.3 print函数 27
4.3.1 引号 28
4.3.2 实量(常量) 29
4.3.3 打印实量 31
4.3.4 warning编译指示符和-w开关 33
4.3.5 diagnostics编译指示符 34
4.3.6 strict编译指示符 35
4.4 printf函数 35
4.4.1 sprintf函数 37
4.4.2 无引号打印:here文档 38
4.5 读者应当学到的知识 39
4.6 下章简介 40
第5章 变量 41
5.1 Perl变量简介 41
5.1.1 类型 41
5.1.2 作用域和包 41
5.1.3 命名规范 42
5.1.4 赋值语句 42
5.1.5 引号规范 43
5.2 标量、数组和哈希 46
5.2.1 标量型变量 46
5.2.2 数组 48
5.2.3 哈希 52
5.2.4 复杂数据结构 54
5.3 从STDIN读取输入 55
5.3.1 把输入内容赋值给标量型变量 55
5.3.2 chop与chomp函数 56
5.3.3 read函数 57
5.3.4 getc函数 57
5.3.5 将输入内容赋予数组 58
5.3.6 将输入内容赋予哈希 59
5.4 数组函数 59
5.4.1 chop和chomp函数(用于列表) 59
5.4.2 exists函数 60
5.4.3 delete函数 60
5.4.4 grep函数 60
5.4.5 join函数 61
5.4.6 map函数 62
5.4.7 pack和unpack函数 63
5.4.8 pop函数 64
5.4.9 push函数 64
5.4.10 shift函数 65
5.4.11 splice函数 65
5.4.12 split函数 66
5.4.13 sort函数 67
5.4.14 reverse函数 69
5.4.15 unshift函数 69
5.5 哈希(关联数组)函数 70
5.5.1 keys函数 70
5.5.2 values函数 70
5.5.3 each函数 71
5.5.4 对哈希进行排序 71
5.5.5 delete函数 74
5.5.6 exists函数 74
5.6 有关哈希的更多内容 75
5.6.1 从文件载入哈希 75
5.6.2 特殊哈希变量 75
5.6.3 上下文(Context) 76
5.7 读者应当学到的知识 77
5.8 下章简介 77
练习5:特殊字符 78
第6章 运算符 80
6.1 关于Perl运算符 80
6.2 混合数据类型 80
6.3 优先级和结合性 81
6.3.1 赋值运算符 83
6.3.2 关系运算符 83
6.3.3 相等性运算符 85
6.3.4 逻辑运算符(短路运算符) 87
6.3.5 逻辑字运算符 88
6.3.6 算术运算符 88
6.3.7 自动递增与自动递减运算符 89
6.3.8 位逻辑运算符 90
6.3.9 条件运算符 92
6.3.10 范围运算符 93
6.3.11 特殊字符串运算符和函数 93
6.3.12 算术函数 94
6.4 读者应当学到的知识 96
6.5 下章简介 97
练习6 97
第7章 条件 98
7.1 控制结构、块与复合语句 98
7.1.1 决策--条件结构 98
7.2 循环 101
7.2.1 while循环 101
7.2.2 until循环 102
7.2.3 for循环 103
7.2.4 foreach循环 104
7.2.5 循环控制 106
7.2.6 switch语句 109
7.3 读者应当学到的知识 111
7.4 下章简介 111
练习7 什么是条件? 111
第8章 正则表达式--模式匹配 113
8.1 什么是正则表达式 113
8.2 表达式修饰符与简单语句 113
8.2.1 条件修饰符 114
8.2.2 DATA文件句柄 114
8.2.3 循环修饰符 116
8.3 正则表达式运算符 117
8.3.1 m运算符与匹配 117
8.3.2 s运算符与替换 120
8.3.3 模式绑定运算符 124
8.4 读者应当学到的知识 127
8.5 下章简介 127
练习8 127
第9章 获得控制:正则表达式元字符 129
9.1 正则表达式元字符 129
9.1.1 表示单个字符的元字符 130
9.1.2 空白元字符 135
9.1.3 重复模式匹配元字符 136
9.1.4 tr或y函数 147
9.2 Unicode 149
9.2.1 Perl与Unicode 149
9.3 读者应当学到的知识 150
9.4 下章简介 151
练习9 151
第10章 获得文件句柄 152
10.1 用户定义文件句柄 152
10.1.1 打开文件:Open函数 152
10.1.2 打开文件读 152
10.1.3 打开文件写 155
10.1.4 Win32二进制文件 156
10.1.5 打开文件追加 157
10.1.6 select函数 157
10.1.7 使用flock为文件加锁 158
10.1.8 seek和tell函数 158
10.1.9 打开文件读写 160
10.1.10 打开管道 161
10.2 参数传递 165
10.2.1 ARGV数组 165
10.2.2 ARGV与Null文件句柄 165
10.2.3 eof函数 167
10.2.4 -i开关:原位编辑文件 168
10.3 文件测试 168
10.4 读者应当学到的知识 169
10.5 下章简介 170
练习10 获得句柄 170
第11章 子例程与函数 171
11.1 子例程/函数 171
11.1.1 定义并调用子例程 172
11.2 参数传递 174
11.2.1 原型 178
11.2.2 返回值 179
11.2.3 上下文和子例程 179
11.3 按引用调用 180
11.3.1 符号引用-Typeglob 180
11.3.2 硬引用-指针 183
11.3.3 自动加载 185
11.3.4 BEGIN和END子例程(开始与结束) 186
11.3.5 subs函数 187
11.4 读者应当学到的知识 187
11.5 下章简介 187
练习11 不可或缺的子例程 188
第12章 模块化、打包并发送到库 189
12.1 包和模块 189
12.1.1 引言 189
12.1.2 一个类比 189
12.1.3 定义 189
12.1.4 符号表 190
12.2 标准Perl库 193
12.2.1 @INC数组 193
12.2.2 包和.pl文件 194
12.2.3 模块和.pm文件 196
12.2.4 导出和导入 196
12.2.5 如何"use"来自标准Perl库的模块 200
12.2.6 使用Perl创建自己的模块 201
12.3 来自CPAN的模块 202
12.3.1 使用PPM 202
12.4 读者应当学到的知识 203
12.5 下章简介 204
练习12 把所有Perl都放入包内 204
第13章 这项工作需要引用吗 206
13.1 什么是引用?什么是指针? 206
13.1.1 符号引用和硬引用 206
13.1.2 硬引用,指针 207
13.1.3 引用和匿名变量 209
13.1.4 嵌套数据结构 209
13.1.5 引用和子例程 212
13.1.6 文件句柄引用 213
13.1.7 ref函数 214
13.2 读者应当学到的知识 215
13.3 下章简介 215
练习13 215
第14章 面向对象的Perl 217
14.1 OOP范例 217
14.1.1 回顾包与模块 217
14.1.2 一些面向对象的专用术语 218
14.2 类、对象和方法 219
14.2.1 现实世界 219
14.2.2 步骤 219
14.2.3 类和私有性 219
14.2.4 对象 220
14.2.5 bless函数 222
14.2.6 方法 222
14.2.7 面向对象的模块样式 224
14.2.8 多态性和动态绑定 229
14.2.9 析构函数和垃圾收集 231
14.3 匿名子例程、闭包和私有性 232
14.3.1 什么是闭包 232
14.3.2 闭包和对象 234
14.4 继承 235
14.4.1 @ISA数组和调用方法 235
14.4.2 $AUTOLOAD、sub AUTOLOAD和UNIVERSAL 236
14.4.3 派生类 238
14.4.4 多重继承 241
14.4.5 重写父类方法 241
14.5 公共用户接口:文档类 241
14.5.1 pod文件 242
14.5.2 pod命令 242
14.5.3 如何使用pod解释器 243
14.5.4 将pod文档转译为文本 244
14.5.5 将pod文档转译为HTML 244
14.6 使用Perl库中的对象 244
14.6.1 另眼看标准Perl库 244
14.6.2 一个来自标准Perl库的面向对象模块 245
14.6.3 使用标准Perl库中的模块 245
14.7 读者应当学到的内容 246
14.8 下章简介 246
练习14 本课的对象是什么 246
第15章 神奇的Tie和DBS 250
15.1 连接变量与类 250
15.1.1 tie函数 250
15.1.2 预定义方法 250
15.1.3 连接标量 251
15.1.4 连接数组 252
15.1.5 连接哈希 253
15.2 DBM文件 255
15.2.1 创建并赋值DBM文件 256
15.2.2 从DBM文件中检索数据 257
15.2.3 从DBM文件删除项 257
15.3 读者应当学到的知识 258
15.4 下章简介 258
第16章 CGI和Perl:超级活力双雄 259
16.1 静态和动态Web页面 259
16.2 工作原理 260
16.2.1 客户端与服务端之间的Internet通信 260
16.3 使用HTML创建Web页面 264
16.4 HTML和CGI如何协作 267
16.4.1 简单CGI脚本 267
16.4.2 错误日志文件 269
16.5 控制信息出入CGI脚本 269
16.5.1 CGI环境变量 270
16.6 CGI和表单 271
16.6.1 表单输入类型 272
16.6.2 创建HTML表单 273
16.6.3 GET方法 274
16.6.4 处理编码数据 276
16.6.5 总结 278
16.6.6 POST方法 279
16.6.7 处理电子邮件 281
16.7 CGI.pm模块 282
16.7.1 简介 282
16.7.2 优点 282
16.7.3 使用CGI.pm编程的两种形式 283
16.7.4 重要警示! 284
16.7.5 HTML表单方法 284
16.7.6 CGI.pm如何处理表单 289
16.7.7 CGI.pm表单元素 291
16.7.8 生成表单输入字段的方法 293
16.7.9 错误处理 296
16.7.10 HTTP首部方法 298
练习16 为Perls冲浪 299
第17章 当Perl遇见MySQL:完美的连接 301
17.1 简介 301
17.2 什么是关系型数据库 301
17.2.1 客户端/服务器型数据库 302
17.2.2 关系型数据库的组成部分 303
17.2.3 通过SQL(结构化查询语言)访问数据库 306
17.3 MySQL入门 308
17.3.1 为何选用MySQL? 308
17.3.2 安装MySQL 308
17.3.3 连接MySQL 309
17.3.4 图形化用户界面 310
17.3.5 寻找数据库 311
17.3.6 基本命令入门 312
17.4 什么是Perl DBI? 319
17.4.1 安装DBI 319
17.4.2 DBI类方法 321
17.4.3 如何使用DBI 321
17.4.4 连接和断开数据库 322
17.4.5 disconnect()方法 323
17.4.6 准备语句句柄并获取结果 323
17.4.7 处理引号 324
17.4.8 获取错误消息 325
17.5 不返回数据的语句 329
17.5.1 do()方法 329
17.6 事务 331
17.7 使用CGI和DBI选择并显示记录项 332
17.8 还有哪些内容? 334
17.9 读者应当学到的知识 334
17.10 下章简介 335
练习17 Select * from Chapter 335
第18章 与系统交互 338
18.1 系统调用 338
18.1.1 目录和文件 339
18.1.2 目录和文件属性 341
18.1.3 查找目录和文件 342
18.1.4 创建目录--mkdir函数 344
18.1.5 删除目录--rmdir函数 344
18.1.6 更改目录--chdir函数 345
18.1.7 通过目录文件句柄访问目录 345
18.1.8 权限和所有权 347
18.1.9 硬链接和软链接 350
18.1.10 更改文件名 351
18.1.11 更改访问与修改时间 352
18.1.12 文件统计量 352
18.1.13 底层I/O文件 354
18.1.14 压缩和解压缩数据 355
18.2 进程 358
18.2.1 UNIX进程 358
18.2.2 Win32进程 359
18.2.3 环境(UNIX和Windows) 359
18.2.4 进程和文件句柄 360
18.2.5 进程优先级和Nice值 361
18.2.6 口令信息 362
18.2.7 时间和进程 364
18.2.8 UNIX进程创建 366
18.2.9 Win32进程创建 369
18.3 与操作系统交互的其他途径 370
18.3.1 syscall函数和h2ph脚本 371
18.3.2 命令替换--反引号 371
18.3.3 Shell.pm模块 372
18.3.4 system函数 372
18.3.5 here文档 373
18.3.6 Globbing(文件名扩展和通配符) 373
18.4 错误处理 374
18.4.1 die函数 375
18.4.2 warn函数 375
18.4.3 eval函数 376
18.5 信号 377
18.6 读者应当学到的知识 379
18.7 下章简介 380
第19章 借助形象行编写报表 381
19.1 模板 381
19.1.1 定义模板的步骤 381
19.1.2 更改文件句柄 382
19.1.3 页眉格式 383
19.1.4 select函数 384
19.1.5 多行字段 384
19.1.6 填充字段 385
19.1.7 动态报表编写 386
19.2 读者应当学到的知识 386
19.3 下章简介 387
练习19 美观如画! 387
第20章 通过网络发送 388
20.1 网络与Perl 388
20.2 客户端/服务器模型 388
20.3 网络协议(TCP/IP) 388
20.3.1 以太网协议(硬件) 388
20.3.2 Internet协议(IP) 389
20.3.3 传输控制协议(TCP) 389
20.3.4 用户数据报协议(UDP) 389
20.4 网络寻址 389
20.4.1 以太网地址 390
20.4.2 IP地址 390
20.4.3 端口号 390
20.4.4 Perl协议函数 390
20.4.5 Perl的服务器函数 391
20.4.6 Perl的主机信息函数 392
20.5 套接字 393
20.5.1 套接字的类型 394
20.5.2 套接字域 394
20.5.3 创建套接字 395
20.5.4 绑定地址和套接字名 395
20.5.5 创建套接字队列 395
20.5.6 等待客户端请求 396
20.5.7 建立套接字连接 396
20.5.8 关闭套接字 397
20.6 客户端/服务器程序 397
20.6.1 同一台计算机上面向连接的套接字 397
20.6.2 远程计算机(Internet客户端和服务器)上面向连接的套接字 399
20.7 Socket.pm模块 401
20.8 读者应当学到的知识 402
附录A Perl内建函数、编译指示、模块和调试器 404
A.1 Perl函数 404
A.2 特殊变量 432
A.3 Perl编译指示 435
A.4 Perl模块 436
A.5 命令行开关 440
A.6 调试器 441
A.6.1 获取有关调试器的信息 441
A.6.2 Perl调试器 442
A.6.3 进入和退出调试器 442
A.6.4 调试器命令 442
附录B SQL语言入门 445
B.1 什么是SQL? 445
B.1.1 标准化SQL 445
B.1.2 执行SQL语句 446
B.1.3 关于SQL命令/查询 446
B.1.4 SQL和数据库 448
B.1.5 SQL数据库表 449
B.2 SQL数据操纵语言(DML) 449
B.2.1 SELECT命令 450
B.2.2 INSERT命令 455
B.2.3 UPDATE命令 455
B.2.4 DELETE命令 455
B.3 SQL数据定义语言 456
B.3.1 创建数据库 456
B.3.2 SQL数据类型 457
B.3.3 创建表 458
B.3.4 创建键 459
B.3.5 关系 460
B.3.6 更改表 461
B.3.7 删除表 462
B.3.8 删除数据库 462
B.4 SQL函数 462
B.4.1 数值函数 462
B.4.2 字符串函数 463
B.4.3 日期与时间函数 464
B.5 附录小结 466
B.6 读者应当学到的知识 466
附录C Perl和生物学 467
C.1 什么是生物信息学? 467
C.2 DNA背景知识 467
C.3 一些Perl示例 468
C.4 什么是BioPerl? 469
C.5 资源 470
附录D 强悍与速度:CGI和mod_perl 471
D.1 什么是mod_perl? 471
D.2 mod_perl Web站点 472
D.3 安装mod_perl 473
D.4 资源 477