内容简介
第1章 概述
1.1 软件开发的现状
1.2 为什么选择Perl
1.3 Perl的环境
1.4 Perl的语言
1.5 联机文档
1.5.1 Windows中的Perl文档
1.5.2 perldoc命令
1.5.3 MacPerl中的Perl文档
1.6 参考文献
第2章 Perl程序开发之禅机
2.1 态度
2.2 观念
2.3 行为
2.3.1 整洁
2.3.2 沟通
2.3.3 测试
2.3.4 精确
2.4 提高技巧
2.5 底线
第3章 逆向调试
3.1 开始
3.2 编写代码
3.2.1 风格
3.2.2 从编辑器获得帮助
3.2.3 勤于思考
3.2.4 清晰
3.3 观察
3.4 文档
3.5 开发
3.6 防止意外事件
3.6.1 严格
3.6.2 警告信息的处理
3.7 降低复杂性的技巧
3.7.1 减少临时变量
3.7.2 减少出错的范围
第4章 Perl的陷阱
4.1 按照语法修饰代码
4.1.1 默认的变量
4.1.2 不用括号的情况
4.1.3 | |的多种用法
4.2 运算符优先级
4.2.1 Regex结合
4.2.2 键上的数学运算
4.3 正则表达式
4.4 其他
4.4.1 自动激活
4.4.2 split函数
4.4.3 保留词
4.4.4 秘密原型
4.4.5 循环范围
第5章 跟踪代码
5.1 转储数据
5.2 使跟踪代码可选
5.3 使用标志
5.4 通过命令行方式
5.5 麻烦的办法
第6章 测试Perl程序
6.1 检查代码
6.2 单元测试
6.2.1 单行测试
6.2.2 断言
6.2.3 按约定设计
6.3 系统或退化测试
6.4 负载测试
6.5 验收测试
6.6 参考文献
第7章 Perl调试器
7.1 基本操作
7.2 开始
7.2.1 查看代码的运行:s,n,r
7.2.2 检查变量:p,x,V
7.2.3 检查源程序:1,-,w,.
7.2.4 沙箱原理
7.2.5 断点:c,b,L
7.2.6 采取行动:a,A
7.2.7 查看:W
7.2.8 跟踪:t
7.2.9 与调试器的程序化交互
7.2.10 优化
7.2.11 另一个“Gotcha”
7.3 图形化初步
7.3.1 ddd
7.3.2 ptkdb
7.3.3 Emacs
第8章 语法错误
8.1 打字错误分类
8.1.1 字符短缺
8.1.2 疑问
8.1.3 字符多余
8.1.4 符号替换
8.1.5 符号位置改变
8.2 打字错误浏览
8.2.1 可引用的引号
8.2.2 大写错误
第9章 运行时异常
9.1 符号引用
9.2 检查返回代码
9.3 编写自己的异常程序
9.4 利用捕获功能
9.5 对程序错误更加明了
第10章 语意错误
10.1 不合逻辑
10.2 读取目录
10.3 但是它的意思是什么
10.4 printf格式不利用上下文
10.5 条件my
10.6 引入closure
第11章 资源缺乏
11.1 先为人作优化,然后再为资源作优化
11.2 利用基准程序进行测试
11.2.1 检测内存的使用情况
11.2.2 检查CPU的使用情况
11.2.3 专家的要求
11.3 做得更好
11.3.1 提高运行速度
11.3.2 提高内存利用率
11.3.3 提高磁盘空间利用率
第12章 把Perl作为第二编程语言
12.1 给所有人的提示
12.2 给C程序员的提示
12.3 给FORTRAN程序员的提示
12.4 给Shell程序员的建议
12.5 给C++或Java程序员的建议
12.5.1 给Java程序员的特别建议
12.5.2 给C++程序员的特别建议
第13章 调试CGI程序
13.1 CGI
13.2 Web服务器
13.3 500-服务器错误
13.4 基础
13.5 安全
13.5.1 感染模式
13.5.2 在感染模式下进行调试
13.6 拦截错误
13.7 cgi检测
13.8 监听
13.9 CGI.pm
13.10 命令行检测
13.11 程序中间退出
13.12 调试器交互
13.13 ptkdb调试器
第14章 结论
14.1 结尾
14.2 结束
14.3 这次真的是结束
附录A Perl调试器命令
A.1 普通语法
A.1.1 续行
A.1.2 分页
A.1.3 命令历史
A.1.4 Shell交互
A.1.5 赋予命令别名
A.2 命令
A.2.1 帮助
A.2.2 停止或重启
A.2.3 单步
A.2.4 检查包中数据
A.2.5 检查包或文字数据
A.2.6 显示版本信息
A.2.7 设置断点
A.2.8 动作
A.2.9 动作/断点显示
A.2.10 栈显示
A.2.11 列举源代码
A.2.12 追踪
A.2.13 观察点
A.2.14 提示-时间动作
A.2.15 选项设置
A.2.16 Perl代码
A.3 选项
A.3.1 影响命令V、X和x的选项
A.3.2 影响异常处理的选项
A.3.3 影响其他程序的控制的选项
A.3.4 其他选项
A.4 环境变量
附录B Perl格言