《PERL高效编程 第2版》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:
  • 出 版 社:
  • 出版年份:2014
  • ISBN:
  • 页数:0 页
图书介绍:

第1章 Perl基础 1

条款1查阅Perl及其模块的文档 1

条款2在需要时开启Perl新特性 3

条款3打开约束指令,让编码更规范 4

条款4了解魔符的含义 7

条款5弄清变量名字空间 8

条款6了解字串和数值比较间的差异 9

条款7弄清何时变量为假,并依此作出正确判别 11

条款8理解字符串和数字之间的转换 14

条款9弄清列表和数组间的差别 17

条款10如需空数组,请勿用undef赋值 19

条款11仅需单个元素时请勿用切片 21

条款12理解上下文及其对操作的影响 25

条款13用数组或散列集结一组数据 27

条款14用bignum处理大数 29

第2章 Perl的地道用法 31

条款15 为优雅、简洁而使用?_ 32

条款16了解其他默认参数 35

条款17常见简写和双关语 37

条款18避免过分依赖标点符号 41

条款19调整列表格式以便于维护 43

条款20善用foreach、 map和grep 44

条款21了解各种字符串引用方法 47

条款22掌握多种排序方式 50

条款23通过智能匹配简化工作 54

条款24用given-when构造switch语句 55

条款25用do{}创建内联子程序 58

条款26用List::Util和List::MoreUtils简化列表处理 60

条款27用autodie简化错误处理 63

第3章 正则表达式 66

条款28了解正则表达式操作符的优先级 66

条款29使用正则表达式的捕获功能 69

条款30使用更精确的空白字符组 74

条款31使用命名捕获,给匹配加标签 77

条款32仅需分组时,用非捕获括号 78

条款33小心处理匹配变量 79

条款34能懒则懒,不要贪婪 81

条款35用零宽断言匹配字串中的特定位置 82

条款36简单字串处理应避免使用正则表达式 85

条款37提高正则表达式的可读性 87

条款38避免不必要的回溯 90

条款39仅编译正则表达式一次 93

条款40预编译正则表达式 94

条款41正则表达式的性能评测 95

条款42不要滥造正则表达式 97

第4章 子程序 99

条款43理解my和local之间的差异 99

条款44若非必要请勿直接使用@_ 106

条款45用wantarray按需返回列表 108

条款46传递引用而非副本 110

条款47用散列传递命名参数 113

条款48通过参数原型声明以特殊方式解析参数 116

条款49创建闭包锁住数据 118

条款50用子程序创建新子程序 121

第5章 文件与文件句柄 124

条款51不要忽略文件测试操作符 124

条款52始终以三项参数的形式调用open 126

条款53采用不同方式读取数据流 127

条款54处理字符串的文件句柄 129

条款55灵活的输出方式 132

条款56用File::Spec或Path::Class处理文件路径 134

条款57将数据留于磁盘以节约内存 136

第6章 引用 139

条款58理解引用和引用的语法 139

条款59将引用类型和原型进行比较 145

条款60通过引用创建包含数组的数组 147

条款61别将匿名数组和列表直接量搞混淆 149

条款62通过匿名散列创建C风格的struct结构 150

条款63小心循环数据结构 152

条款64用map和grep操作复杂数据结构 154

第7章 CPAN 158

条款65以非管理员权限安装CPAN模块 159

条款66拥有自己的CPAN 161

条款67减少公共代码带来的风险 164

条款68安装模块前先行调研 166

条款69确保Perl能找到我们的模块 168

条款70为CPAN作贡献 171

条款71了解常用模块 173

第8章 Unicode 176

条款72在源代码中使用Unicode字符 177

条款73告诉Perl该用何种编码方式 179

条款74通过代码值或名字输入Unicode字符 180

条款75位组字串转换到字符字串 182

条款76 Unicode字符和属性的模式匹配 185

条款77同字素打交道,而不是字符 188

条款78谨慎处理数据库中的Unicode 190

第9章 软件分发 192

条款79用Module::Build构建发行版 192

条款80不必手工新建软件发行版 194

条款81给模块取个好名字 198

条款82在代码中嵌入Pod文档 201

条款83限制我们的发行版用于特定平台 204

条款84检查Pod文档 206

条款85嵌入其他语言代码 209

条款86用XS链接低级语言,提高运行速度 211

第10章 测试 215

条款87用prove灵活运行测试 215

条款88有目的性地运行测试 218

条款89用依赖注入避免特殊测试逻辑 220

条款90避免给方法引入不必要的东西 222

条款91把程序写成模块便于测试 224

条款92用虚拟的对象或接口测试 227

条款93用SQLite创建测试用数据库 231

条款94用Test::Class编写结构化测试 232

条款95项目一开始就准备好测试 235

条款96度量测试覆盖率 240

条款97把CPAN Testers当作QA团队 243

条款98设置持续编译系统 244

第11章 警告信息 250

条款99启用警告功能定位可疑代码 250

条款100利用词法作用域选择性启用或关闭警告 253

条款101用die抛出异常 255

条款102用Carp来获得栈跟踪信息 256

条款103正确处理异常 259

条款104通过污染检查跟踪危险数据 261

条款105对老旧程序启用污染警告 263

第12章 数据库 265

条款106预备SQL语句以复用并节省时间 265

条款107利用SQL占位符将参数值自动引起 268

条款108通过绑定返回列快速访问数据 270

条款109复用数据库连接 272

第13章 杂项 275

条款110编译并安装自己的perl解释器 275

条款111用Perl::Tidy美化代码 277

条款112使用Perl Critic 280

条款113用Log::Log4perl记录程序运行状态 284

条款114明白循环内的数组何时会被修改 289

条款115不要用正则表达式提取逗号分隔的字串 290

条款116用unpack处理固定列宽的数据 291

条款117用pack和unpack对数据作变形处理 293

条款118借用typeglob访问符号表 298

条款119用BEGIN初始化,以END善后 300

条款120用单行Perl命令作为迷你程序 302

附录 Perl资源 307