第1章 计算机、因特网和万维网入门 1
1.1 简介 1
1.2 计算机是什么 2
1.3 计算机的构成 2
1.4 操作系统的演变 3
1.5 个人计算、分布式计算和客户机/服务器计算 4
1.6 机器语言、汇编语言和高级语言 5
1.7 结构化编程 6
1.8 面向对象的编程 7
1.9 硬件发展趋势 8
1.10 因特网的历史 8
1.11 万维网的历史 10
1.12 Perl的历史 10
1.13 Perl库 12
1.14 有关Perl和本书的常见问题 12
1.15 因特网和万维网资源 12
1.16 小结 13
第2章 Perl编程概述 16
2.1 简介 16
2.2 显示文本行的简单程序 16
2.3 又一个简单的程序:两个整数相加 21
2.4 内存概念 23
2.5 标量值和标量变量 24
2.6 算术运算符 25
2.7 赋值运算符 28
2.8 自增和自减运算符 29
2.9 作出决策:相等性和关系运算符 31
2.10 区分相等性(==)和赋值运算符(=) 34
2.11 字串运算符 36
2.12 数值和字串的使用场合 37
2.13 因特网和万维网资源 39
2.14 小结 40
第3章 控制结构(-) 47
3.l 简介 47
3.2 算法 47
3.3 伪代码 48
3.4 控制结构 48
3.5 if和unless选择结构 50
3.6 if/else和if/elsif/else选择结构 52
3.7 while和until循环结构 56
3.8 do/while和do/until循环结构 57
3.9 算法设计案例1:由计数器控制的循环 59
3.10 算法设计案例2:由哨兵控制的循环 62
3.11 算法设计案例3:嵌套的控制结构 66
3.12 因特网和万维网资源 70
3.13 小结 71
第4章 数组和散列 78
4.1 简介 78
4.2 其他数据类型 78
4.3 列表和列表使用场合 78
4.4 数组 79
4.5 数组的创建和操作 81
4.6 用for结构进行循环 82
4.7 创建数组的其他例子 85
4.8 数组操作 89
4.9 数组函数 93
4.10 列表函数 97
4.11 在排好序的数组中查找 99
4.12 散列概论 104
4.13 如何创建和操作散列 105
4.14 和散列相关的函数 107
4.15 因特网和万维网资源 112
4.16 小结 112
第5章 控制结构(二) 118
5.l 简介 118
5.2 foreach循环结构 118
5.3 特殊变量$_ 121
5.4 循环控制结构:grep和map 122
5.5 案例分析:计算均数、中位数和众数 124
5.6 循环控制:next语句 129
5.7 循环控制:last语句 130
5.8 循环控制:redo语句 130
5.9 代码块标签 131
5.10 裸块 133
5.ll 逻辑运算符 134
5.12 将逻辑运算符用于流程控制 139
5.13 错误控制函数:die和warn 139
5.14 结构化编程小结 141
5.15 小结 145
第6章 子程序和函数 152
6.1 简介 152
6.2 Perl中的子程序 152
6.3 内建数学函数 154
6.4 用户自定义子程序 155
6.5 参数列表 157
6.6 返回值 158
6.7 调用子程序的其他方式 161
6.8 生成随机数 164
6.9 示例:博彩游戏 168
6.10 递归 171
6.11 递归应用实例:费波拉奇数列 174
6.12 递归和循环 176
6.13 作用域规则:全局、字典和动态的 177
6.14 名字空间、包和模块 180
6.15 预编译指令 187
6.16 小结 189
第7章 CGI入门 198
7.1 简介 198
7.2 一个简单的HTTP操作 199
7.3 一个简单的CGI脚本 201
7.4 用CGI.pm生成HTML 204
7.5 将输入发送给一个CGI脚本 207
7.6 用HTML表单来发送输入 209
7.7 用CGI.pm创建表单和读取输入 215
7.8 其他标题 218
7.9 示例:一个交互式入口 219
7.10 因特网和万维网资源 223
7.11 小结 224
第8章 常现表达式 232
8.l 简介 232
8.2 匹配运算符m// 232
8.3 替代运算符s// 234
8.4 特殊字符和字符类型 235
8.5 选择符 237
8.6 限定符 239
8.7 限定符贪婪 241
8.8 声明 242
8.9 向后引用 244
8.10 更多的常规表达式修改符 247
8.11 全局查找和/g修改符 248
8.12 示例:表单校验 250
8.13 因特网和万维网资源 254
8.14 小结 254
第9章 字串处理 262
9.l 简介 262
9.2 引号和引号运算符 262
9.3 "Here"文档 265
9.4 基本字串函数 267
9.5 chop和chomp函数 269
9.6 index和rindex函数 272
9.7 join函数 274
9.8 split函数 275
9.9 tr///转换运算符 277
9.10 用printf和sprintf格式化输出 279
9.11 输出时规定字段宽度和精度 282
9.12 在printf格式控制率串中使用旗标 284
9.13 将字串作为Perl代码赋值 287
9.14 小结 288
第10章 文件处理 296
10.1 简介 296
10.2 数据结构 296
10.3 文件句柄 298
10.4 打开和关闭文件句柄 298
10.5 使用文件句柄 300
10.6 @ARGV特殊变量 303
10.7 从文件中读取数据的其他方式 304
10.8 实现一个随机访问文件 305
10.9 示例:Web页日志生成器 308
10.10 示例:留言簿 310
10.11 因特网和万维网资源 313
10.12 小结 313
第11章 文件和目录操作 320
11.l 简介 320
11.2 文件检测和sysopen 320
11.3 访问许可权限 323
11.4 文件操作 324
11.5 硬链接和符号链接 327
11.6 文件通配 328
11.7 目录句柄和操作 328
11.8 示例:网站最近更新页 329
11.9 小结 332
第12章 格式化 338
12.l 简介 338
12.2 创建格式化报告 338
12.3 页面顶部处理 341
12.4 多行格式字段 343
12.5 格式变量 347
12.6 案例分析:输出一个数据库 350
12.7 案例分析:Web日志分析器 354
12.8 小结 365
第13章 引用 373
13.l 简介 373
13.2 引用 373
13.3 对非标量的引用 375
13.4 匿名结构 378
13.5 封装模块 382
13.6 作为函数参数引用 384
13.7 嵌套数据结构 387
13.8 垃圾收集和循环引用 393
13.9 符号引用 394
13.10 类型通配 396
13.11 文件句柄的引用 401
13.12 引用的应用 403
13.13 因特网和万维网资源 407
13.14 小结 407
第14章 对象和模块 413
14.1 简介 413
14.2 类的使用 414
14.3 创建一个简单的类 415
14.4 继承 419
14.5 方法重载 424
14.6 其他类关系:多重继承、合成和包容 429
14.7 基础类UNIVERSAL 431
14.8 封装:public和private 432
l4.9 封闭方法 433
14.10 隐式函数 436
14.11 AUTOLOAD函数 438
14.12 绑定函数 441
14.13 因特网和万维网资源 443
14.14 小结 444
第15章 数据库:SQL和Perl DBI 451
15.1 简介 451
15.2 关系型数据库模型 452
15.3 关系型数据库概览 453
15.4 结构化查询语言(SQL) 454
15.5 DBI概述 461
15.6 DBI运用 462
15.7 用DBI操作一个数据库 464
15.8 DBI和Web 469
15.9 DBI工具函数 479
15.10 MySQL服务器 479
15.11 因特网和万维网资源 489
15.12 小结 489
第16章 会话跟踪和Cookie 496
16.1 简介 496
16.2 如何运用存下来的数据 496
16.3 存储数据的方法 496
16.4 查询字串 497
16.5 隐藏字段 501
16.6 Cookie 504
16.7 服务器端文件 508
16.8 示例:购物车 512
16.9 小结 524
第17章 Web自动化和连网 529
17.l 简介 529
17.2 LWP概述 529
17.3 LWP命令 530
17.4 LWP::Simple模块 533
17.5 HTML解析 534
17.6 高级连网入门 536
17.7 协议 537
17.8 传输控制协议(TCP) 537
17.9 简单邮件传输协议(SMTP) 541
17.10 邮局协议(POP) 544
17.11 查找万维网 547
17.12 小结 551
第18章 进程管理 557
18.l 简介 557
18.2 fork命令 558
18.3 system和exec函数 562
18.4 进程输入和输出的控制 565
18.5 在进程间通信 569
18.6 信号控制 572
18.7 发送信号 574
18.8 OLE自动化 576
18.9 小结 578
第19章 安全性 583
19.l 简介 583
19.2 程序的不安全因素 584
19.3 用外壳命令使用用户数据 584
19.4 防守性编程 588
19.5 不洁模式 590
19.6 在网页上打印用户输入 592
19.7 "拒绝服务"攻击 597
19.8 其他攻击手段 601
19.9 运用隐藏字段 603
19.10 加密理论概述 609
19.11 加密的使用 610
19.12 密钥加密 614
19.13 公钥加密 616
19.14 密钥合约协议 618
19.15 密钥管理 619
19.16 数字签名 619
19.17 公钥结构、证书和证书授权 620
19.18 加密分析 622
19.19 安全协议 622
19.20 网络安全 624
19.21 隐写术 626
19.22 因特网和万维网资源 628
19.23 小结 635
第20章 数据结构 646
20.1 简介 646
20.2 自引用结构 646
20.3 链接列表 647
20.4 双向链接列表 657
20.5 推栈和队列 661
20.6 树 664
20.7 散列 671
20.8 小结 676
第21章 图形化与Tk 681
21.1 简介 681
21.2 GD模块:创建简单的几何图形 681
21.3 GD模块:图形处理 684
21.4 Chart模块 685
21.5 GUI概览 687
21.6 Tk概览 687
21.7 Tk:GUI组件 689
21.8 Tk案例分析:一个GUI的应用 692
21.9 小结 697
第22章 可扩展标记语言XML 701
22.l 简介 701
22.2 Perl和XML 702
22.3 数据的结构化 703
22.4 XML名字空间 708
22.5 文档类型定义(DTD)和Schema 711
22.6 自定义标记语言 716
22.7 文档对象模型(DOM) 720
22.8 XML::D0M 720
22.9 DOM方法 725
22.10 用于XML的简单API(SAX) 728
22.11 用XML::Parser解析XML 728
22.12 Data::Dumper和XML 733
22.13 扩展样式语言(XSL) 735
22.14 用Perl生成XML 738
22.15 案例分析:用Perl和XML组建一个论坛 740
22.16 因特网和万维网资源 756
22.17 小结 758
第23章 易用性 764
23.1 简介 764
23.2 为多媒体内容提供替代方案 764
23.3 突出结构,增强可读性 773
23.4 HTML表格的易用性 774
23.5 HTML框架的易用性 777
23.6 利用VoiceXML实现语音合成和识别 777
23.7 JAWS for Windows 781
23.8 其他易用性工具 782
23.9 因特网和万维网资源 782
23.10 小结 784
第24章 HTML 4概述(-) 789
24.l 简介 789
24.2 标记语言 789
24.3 编辑HTML 790
24.4 常见元素 791
24.5 标题 793
24.6 链接 794
24.7 图像 797
24.8 特殊字符和更多的换行 800
24.9 无序列表 802
24.10 嵌套和顺序列表 803
24.11 因特网和万维网资源 806
24.12 小结 807
第25章 HTML 4概述(二) 811
25.1 简介 811
25.2 基本HTML表格 811
25.3 中等大小表格的格式化 813
25.4 基本HTML表单 816
25.5 更复杂的HTML表单 819
25.6 内部链接 826
25.7 创建和使用图像地图 829
25.8 <meta>标记 831
25.9 frameset元素 832
25.10 嵌套框架集 835
25.11 因特网和万维网资源 837
25.12 小结 837
第26章 层叠样式表CSS 843
26.1 简介 843
26.2 内嵌样式 843
26.3 用style元素创建样式表 844
26.4 样式的冲突 847
26.5 链接外部样式表 851
26.6 定位元素 853
26.7 背景 856
26.8 元素大小 858
26.9 文本流和框模型 860
26.10 用户样式表 865
26.11 因特网和万维网资源 868
26.12 小结 868
第27章 Python编程概述 873
27.l 简介 873
27.2 基本数据类型、控制结构和函数 876
27.3 元组、列表和字典 880
27.4 字串处理和常规表达式 885
27.5 异常控制 889
27.6 CGI编程指南 892
27.7 表单处理和事务逻辑 893
27.8 Cookie 899
27.9 数据库应用编程接口(DB-API) 904
27.10 面向对象的编程 908
27.11 案例分析:GUI数据库应用 911
27.12 运算符优先顺序表 923
27.13 因特网和万维网资源 924
27.14 小结 926
附录A HTML特殊字符 934
附录B HTML颜色 935
附录C ASCII字符集 938
附录D 运算符的优先级和结合性表 939
附录E 数值系统 941
E.1 简介 941
E.2 将二进制数转换为八进制和十六进制数 944
E.3 将八进制数和十六进制数转换为二进制数 945
E.4 将二进制、八进制或十六进制转换为十进制 945
E.5 将十进制数转换为二进制、八进制或十六进制数 946
E.6 负的二进制数字:2的补值记号法 948
E.7 小结 949
附录F Perl 6网上资源 953
F.l 简介 953
F.2 Perl的未来 953
F.3 因特网和万维网资源 954
参考书目 956