《精通Perl 2版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)福瓦著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2015
  • ISBN:9787121254192
  • 页数:395 页
图书介绍:本书包含丰富的知识点,让你在Perl的世界里随心所欲。正则表达式的高级技巧;通过安全的程序设计技巧,教读者如何在程序设计中避免一些常见的问题;使Perl更标准化和具体化,让读者更明确地知道自己所应该改进的问题;通过对大量Perl代码的分析与比较,使它们更棒、更具可读性。

第1章 高级正则表达式 1

可读的正则表达式/x和(?#&) 1

全局匹配 3

全局匹配锚定 5

递归正则表达式 7

重复子模式 7

前后查找 19

向前查找断言(?=PATTERN)与(?!PATTERN) 19

向后查找断言(?<!PATTERN)与(?<=PATTERN) 23

调试正则表达式 26

参数-D 26

总结 31

延伸阅读 31

第2章 安全编程技术 33

不良数据会毁了你的生活 33

污点检测 34

用警告代替致命错误 36

自动污点检测模式 37

mod_perl 37

污点数据 37

污点检测的副作用 39

清除数据污点 40

IO::Handle::untaint 42

哈希表关键字 42

Taint::Util 43

用污点数据选择无污点数据 44

符号引用 44

DBI防御性数据库编程 47

system和exec命令的列表形式 50

三个参数的open函数 51

sysopen 51

限制特殊权限 52

Safe隔间 52

Safe模块的局限性 59

娱乐一下 59

总结 61

延伸阅读 61

第3章 Perl调试器 63

避免浪费太多的时间 63

世界上最好的调试器 64

安全地修改模块 65

封装子程序 66

Perl调试器 69

备选调试器 70

用-d启用其他调试器 70

Devel::ptkdb 70

Devel::ebug 72

Devel::hdb 73

集成开发环境调试器 73

EPIC 74

Komodo 74

总结 74

延伸阅读 75

第4章 Perl性能分析 77

找出罪魁祸首 77

通用方法 81

DBI性能分析 83

其他DBI::Profile报告 87

懒惰是美德,能否简单点 89

切换为数据库 89

Devel::NYTProf模块 92

写一个自己的分析器 92

Devel::LineCounter模块 92

性能分析测试套件 93

Devel::Cover模块 94

总结 96

延伸阅读 96

第5章 Perl基准测试 97

基准测试理论 97

测量时间 98

比较代码 102

不要停止思考 105

隔离环境 109

处理异常值 112

内存使用 113

perlbench工具 119

总结 120

延伸阅读 121

第6章 清理Perl程序 123

好的风格 123

perltidy程序 124

去除混淆 126

对隐藏代码的解码 126

用B::Deparse对代码进行逆向解析 129

Perl::Critic模块 131

创建我们自己的Perl::Critic策略 135

总结 136

延伸阅读 136

第7章 符号表和Typeglob 137

软件包变量和词法变量 137

获取软件包变量 139

符号表 141

Typeglob 143

别名 146

旧代码中的文件句柄参数 148

给匿名子程序命名 149

简单的方法 151

总结 152

延伸阅读 152

第8章 动态子程序 153

子程序作为数据 153

创建与替换命名子程序 157

符号引用 159

遍历子程序列表 161

处理流水线 163

自引用匿名子程序 164

方法列表 165

子程序作为参数使用 165

自动加载方法 170

哈希表作为对象 171

自动切分 172

总结 173

延伸阅读 173

第9章 修改和提升模块 175

选择正确的解决方案 175

给作者发送补丁 175

本地修补 177

接管一个模块 177

分支 177

从头开始做自己的模块 178

替换模块的一部分 178

派生子类 181

一个ExtUtils::MakeMaker的例子 184

其他例子 186

封装子程序 186

总结 188

延伸阅读 188

第10章 配置Perl程序 191

不要做的事 191

将配置代码放到独立的文件中 193

更好的办法 194

环境变量 194

特殊环境变量 195

打开额外的输出 195

命令行选项 197

Perl的-s选项 198

Getopt模块 199

配置文件 204

ConfigReader::Simple 204

Config::IniFiles 205

Config::Scoped 206

其他配置文件 206

具有不同名字的脚本 207

交互和非交互程序 207

Perl的配置模块 209

不同的操作系统 209

总结 211

延伸阅读 211

第11章 检测和报告错误 213

Perl错误处理基础 213

操作系统错误 214

子进程错误 216

操作系统特定的错误 218

报告模块错误 219

分解问题 220

异常 222

eval 222

多层嵌套的die 223

在die中使用引用 225

用die传递对象 226

打破$@ 229

autodie 231

报告罪魁祸首 233

捕获异常 237

Try::Tiny 237

TryCatch 238

多态返回值 240

总结 241

延伸阅读 241

第12章 日志 243

记录错误和其他信息 243

Log4perl 244

子程序参数 246

配置Log4perl 247

持久化日志配置 251

日志分类 251

其他的Log::Log4perl功能 254

总结 255

延伸阅读 255

第13章 数据持久化 257

Perl特有的格式 257

打包 257

定长记录 259

展开二进制格式 259

Data::Dumper 260

类似的模块 264

Storable模块 266

冻结数据 268

Storable模块的安全问题 270

Sereal模块 273

DBM文件 278

dbmopen函数 278

DBM::Deep模块 278

Perl所不认识的格式 280

JSON格式 280

YAML格式 282

MessagePack格式 285

总结 286

延伸阅读 286

第14章 使用Pod 289

Pod格式 289

Pod指令 289

编码 291

正文元素 291

转换Pod 292

Pod转换程序 292

Pod::Perldoc::ToToc模块 294

Pod::Simple模块 295

从Pod::Simple派生子类 298

Web服务器中的Pod 299

测试Pod 299

检查Pod 299

Pod覆盖率 300

隐藏和忽略函数的Pod覆盖率检查 301

总结 302

延伸阅读 302

第15章 位操作 305

二进制数 305

以二进制数方式输出 306

位操作符 307

一元取反操作符(~) 308

按位与操作(&) 310

按位或操作(|) 311

按位异或操作(∧) 312

左移位(<<)和右移位(>>)操作符 314

位向量 314

vec函数 316

位字符串的存储 318

存储DNA 321

素数判定 322

记录事情 323

总结 324

延伸阅读 324

第16章 绑定变量的魔法 327

看起来普通的变量 327

在用户层面 328

帷幕之后 329

标量 330

Tie::Cycle模块 330

有界整数 333

自毁值 334

数组 335

重新创建数组 336

一些现实中的东西 340

哈希表 345

文件句柄 347

总结 349

延伸阅读 350

第17章 模块即程序 351

main入口 351

回到过去 352

谁在调用 352

测试程序 353

模块即测试 354

创建程序发布包 359

在程序中加内容 362

发布程序 366

总结 367

延伸阅读 367

附录A 延伸阅读 369

Perl书籍 369

非Perl书籍 371

附录B brian的Perl问题解决指导手册 373

解决问题的哲学 373

我的方法 374

那些我做过和仍在做的蠢事 378

本书Perl模块索引 381

索引 385