《Perl参考大全 第2版》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:(美)Martin C.Brown著;顾凯等译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2002
  • ISBN:711509943X
  • 页数:709 页
图书介绍:本书内容包括Perl编程的基础知识、使用Perl进行编程、开发应用程序、Perl的高级技巧,附录提供了函数参考、Perl标准库和网上资源等内容。

第1部分 Perl编程基础 1

第1章Perl的背景 1

1.1版本和命名协定 1

1.1.1 Perl、perl还是PeRL 2

1.1.2 Perl5.6之前的各种Perl版本 2

1.2 Perl的历史 2

1.3 Perl的主要特点 2

1.3.1免费 3

1.3.2简单易学、简明易读 3

1.3.3快速高效 3

1.3.4可扩展性 3

1.3.5灵活的数据类型 4

1.3.6面向对象 4

1.3.7交流协作 4

1.4编译器或解释器 4

1.5与Perl类似的语言 4

1.5.1UNIX Shell 5

1.5.2 Tcl 5

1.5.3 Python 5

1.5.4 Java 6

1.5.5 C/C++ 6

1.5.6 awk/gawk 6

1.6关于Perl的误区 7

1.7 Perl的成功业绩 8

第2章Perl概述 9

2.1安装及使用Perl 9

2.1.1编写一个Perl脚本 10

2.1.2UNIX下的Perl 10

2.1.3Windows下的Perl 12

2.1.4 Mac OS下的Perl 15

2.2 Perl中的组件 18

2.2.1变量 18

2.2.2操作符 19

2.2.3语句 19

2.2.4子程序(函数) 19

2.2.5模块 20

2.3接下去如何使用本书 20

第3章Perl解析规则 21

3.1 脚本执行过程 21

3.2语法和解析规则 21

3.2.1基本语法 22

3.2.2注释语句 23

3.2.3组件确认 24

3.2.4操作符和优先级 25

3.2.5独立词 37

3.2.6上下文 38

3.2.7逻辑值 39

3.3 Perl的代码体系 39

第4章 变量和数据 41

4.1基本命名规则 41

4.2 标量变量 42

4.3字面量 42

4.3.1数字字面量 42

4.3.2字符串字面量 43

4.3.3字符串引用 45

4.3.4数组的内插 46

4.3.5 本地文档 46

4.3.6 V-字符串 47

4.4数组 48

4.5哈希结构 50

4.6 列表 53

4.7类型标识(Typeglobs) 55

4.8被定义的函数和未定义值 55

4.9默认值 56

4.10其他标记 56

4.11特殊变量 56

第5章 语句和控制结构 65

5.1代码块 65

5.2条件语句 65

5.3循环语句 68

5.3.1 while循环 68

5.3.2 until循环 68

5.3.3 for循环 69

5.3.4 foreach循环 69

5.3.5 continue块 70

5.3.6 标签 70

5.3.7 循环控制 71

5.3.8非限定块 72

5.3.9 goto语句 73

第6章 子程序、包和模块 74

6.1 函数 74

6.1.1 参数 76

6.1.2返回值 82

6.1.3 错误通告 83

6.1.4上下文 83

6.1.5 属性 84

6.1.6 原型 85

6.2 包 86

6.2.1 包符号表 88

6.3特殊块 88

6.4模块 89

6.4.1建立模块 90

6.4.2 Exporter模块 91

6.4.3 use和require的比较 91

6.4.4 no语句 93

6.4.5 do语句 93

6.5作用域 93

6.5.1“my”的效果 94

6.5.2“local”的效果 95

6.5.3“our”的效果 95

6.5.4循环中的作用域 96

6.6自动装载 96

第7章 文件操作 98

7.1 文件句柄 98

7.1.1打开和关闭文件 99

7.1.2输入/输出句柄 104

7.1.3文件定位 109

7.1.4混合控制函数 110

7.2 文件管理 112

7.2.1文件信息 112

7.2.2 基本的文件管理 116

7.2.3目录访问 118

7.2.4管理目录 120

7.2.5 使用fcntl函数进行文件的控制 122

7.2.6 通过ioctl函数进行I/O控制 122

7.2.7 select函数 123

7.2.8 文件加锁 125

第8章 数据操作 127

8.1数字处理 127

8.1.1 abs——绝对值 127

8.1.2 int——将浮点数转换为整数 127

8.1.3 exp——e为底的乘方 128

8.1.4 sqrt——开方运算 128

8.1.5 log——对数函数 128

8.1.6三角函数 128

8.1.7 进制转换 129

8.1.8 字符和数字之间的转换 129

8.1.9随机数 130

8.1.10 小整数的操作 131

8.2 字符串操作 131

8.2.1字符串连接 131

8.2.2 字符串长度 132

8.2.3 改变字符大小写 132

8.2.4行结束字符的消除 132

8.2.5 字符串定位 133

8.2.6提取子串 133

8.2.7 栈 134

8.2.8 数组切片 135

8.2.9 join函数 136

8.2.10 split函数 137

8.2.11 grep函数 138

8.2.12 map函数 138

8.2.13 sort函数 139

8.2.14 reverse 140

8.3正则表达式 140

8.3.1模式修饰符 141

8.3.2匹配操作符 142

8.3.3替换操作符 143

8.3.4转换 145

8.3.5正则表达式的元素 147

8.3.6 正则表达式变量 156

8.3.7正则表达式扩展名/断言 157

8.3.8预编译表达式 158

8.3.9 正则表达式的支持函数 159

8.4 Unicode 160

8.4.1 Perl对于Unicode的解释 161

8.4.2 Perl中的Unicode字符 161

8.4.3 Unicode作用于Perl的效果 162

第9章 错误和捕获错误 163

9.1 在脚本中加入错误确认的代码 163

9.1.1 错误确认方法 163

9.1.2错误确认方针 164

9.2 什么是要确认的错误 165

9.3什么是不需要确认的错误 165

9.4什么时候停止确认 166

9.4.1尽量避免画蛇添足 166

9.4.2函数、返回值和内嵌结构 167

9.5 表示错误的信息和数字 168

9.6 在脚本中报告错误 169

9.6.1Warn函数 169

9.6.2 Die函数 169

9.6.3 指示和标记 170

9.7在模块中进行报错 170

9.7.1 Carp函数 171

9.7.2 Cluck函数 171

9.7.3 Croak函数 171

9.7.4 Confess函数 172

第2部分 使用Perl编程 173

第10章 复杂数据结构 173

10.1访问打包的数据结构 173

10.2引用 176

10.2.1建立硬引用 177

10.2.2反引用 179

10.2.3判断引用中的数据类型 181

10.2.4 软引用 182

10.3 复杂结构 182

10.3.1 二维数组 183

10.3.2 二维哈希结构 186

10.3.3哈希结构的数组 189

10.3.4 数组的哈希结构 191

10.3.5 多于二维的结构 193

10.4 对象 195

10.4.1 关于对象的基础知识 195

10.4.2 建立和使用对象 196

10.4.3 对象方法 197

10.4.4 类和类的继承 200

10.4.5 析构函数和垃圾收集 200

10.4.6 Perl中对象结构同其他语言的比较 201

10.5 使用捆绑 201

10.5.1建立新的捆绑类 202

第11章 系统信息 206

11.1 用户和用户组 206

11.1.1 获取UNIX的Password 206

11.1.2获得UNIX的用户组 208

11.1.3 Password加密 208

11.2 Time 209

11.2.1gmtime和localtime 209

11.2.2 Time函数 210

11.2.3 时间值比较 210

11.2.4 将日期和时间转换为起始时间值 210

11.2.5 时间算法 211

11.2.6 times函数 213

11.2.7 sleep函数 214

11.2.8 Alarms 214

11.3 环境变量 215

第12章 网络 218

12.1 获得网络信息 219

12.1.1主机 219

12.1.2协议 220

12.1.3服务 221

12.1.4网络 221

12.2 套接字模块 222

12.2.1地址解析和转换 222

12.2.2地址常量 222

12.2.3套接字结构 223

12.2.4行结束常量 223

12.3 利用套接字进行通信 223

12.3.1 连接远端套接字 223

12.3.2 监听套接字连接信息 226

12.4 使用IO::Socket 231

12.4.1 客户端 232

12.4.2服务器端 232

12.4.3使用IO::Socket和IO::Select 232

12.4.4 获取套接字地址 234

12.4.5 关闭套接字 234

12.4.6 套接字选项 235

12.4.7 数据传递 235

12.5 Graham Barr的libnet包族 236

12.6 Gisle Aas的LWP包族 238

第13章 数据库系统 240

13.1 文本数据库 241

13.1.1 限定数据库 242

13.1.2固定长度的记录 242

13.2 DBM数据库 245

13.2.1 DBM的实现 246

13.2.2 DBM函数 247

13.2.3 使用捆绑DBM数据库 248

13.2.4 在DBM各种格式之间转换 250

13.2.5 使用AnyDBM_File 251

13.2.6 GDBM的特性 251

13.2.7 Berkeley DB特性 252

13.2.8在DBM数据库中存放复杂的数据 256

13.2.9 DBM中的关系型数据库 259

13.3 数据库的文件锁定 260

13.4 使用DBI和Win32::ODBC工具集 261

13.4.1 DBI 262

13.4.2 Win32::ODBC 262

13.4.3 数据库机制和兼容 263

13.4.4 数据库连接 263

13.4.5执行简单查询 264

13.4.6 执行扩展查询 265

13.4.7关闭数据库连接 266

13.4.8确认错误 266

13.5 复习SQL语言 267

13.5.1SQL语句 268

第14章 进程间通信 274

14.1 进程 274

14.1.1 控制Perl运行 274

14.1.2 进程信息 275

14.1.3 进程组 275

14.1.4进程优先级 275

14.2 信号 276

14.2.1 信号句柄 277

14.2.2 _WARN_和_DIE_信号 279

14.2.3 发送信号 281

14.3 管道 281

14.3.1匿名管道 281

14.3.2双向通信 282

14.3.3 命名管道 282

14.3.4 Windows 下的命名管道 284

14.3.5 安全管道 286

14.4 执行附加进程 287

14.4.1 运行其他程序 287

14.4.2 替换当前脚本 288

14.4.3 建立子进程 288

14.5 其他的函数调用 293

14.6 system V IPC 294

第15章 其他运行方法 295

15.1 以命令行形式执行Perl 295

15.1.1特殊操作 300

15.2 Perl的环境变量 301

15.3 Perl in Perl(eval) 302

15.3.1使用eval EXPR 302

15.3.2 使用eval BLOCK 303

15.3.3 捕捉意外情况 303

15.3.4 返回信息 303

15.3.5 eval和_DIE_信号句柄 303

15.4 线程 304

15.4.1 多任务如何实现 304

15.4.2从多任务到多线程 305

15.4.3 线程和多进程的比较 306

15.4.4线程和select ( )函数的区别 306

15.4.5 线程和Perl 306

15.4.6创建一个新线程 306

15.4.7通过匿名者函数建立线程 307

15.4.8线程控制 307

15.4.9 变量控制 308

15.4.10 队列 309

15.4.11 标志(semaphore) 309

15.4.12 信号 309

15.5 安全性 310

15.5.1 使用Taint模式 310

15.5.2 safe模块和opcode模块 312

第3部分 开发应用 315

第16章 用户界面工具 315

16.1 处理命令行参数 315

16.1.1Getopt::std 316

16.1.2 Getopt::Long 317

16.2 Perl输出显示机制 319

16.2.1 标题和脚注 322

16.2.2 格式函数 322

16.2.3 格式变量 323

第17章 高级用户界面 324

17.1 终端中的一些处理 324

17.2 使用TK 325

17.2.1 在UNIX下安装TK 326

17.2.2在Windows 下安装TK 326

17.2.3接触TK 326

17.2.4事件循环 328

17.2.5部件 330

17.2.6控制窗口位置大小 344

17.2.7简化处理 347

第18章 Web中的Perl 353

18.1 HTML 353

18.2 统一资源定位符URL 354

18.3 Web操作浏览 354

18.4 环境 355

18.5 通用网关接口(CGI) 358

18.5.1 数据提取 359

18.5.2 返回相关的数据到用户浏览器中 361

18.5.3文档主体 364

18.6 Web编程 364

18.7CGI模块 365

18.7.1cookies 368

18.8 解析HTML 369

18.9 解析XML 370

18.10 调试程序 373

18.11 安全性 374

第19章 通过标记控制Perl的执行 377

19.1 告警 377

19.2$^W变量 378

19.3以前Perl版本中的warnings标记 378

19.4 Perl5.6中的词法告警 379

19.5 strict标记 382

19.5.1 vars选项 383

19.5.2 refs选项 384

19.5.3 subs选项 385

19.6 其他Perl标记 385

19.6.1 attributes标记 386

19.6.2 autouse标记 386

19.6.3 base标记 387

19.6.4 blib标记 387

19.6.5 bytes 标记 387

19.6.6 charnames标记 388

19.6.7 constant标记 388

19.6.8 diagnostics标记 389

19.6.9 field标记 390

19.6.10 integer 391

19.6.11less 391

19.6.12 lib 391

19.6.13 locale 392

19.6.14 open 392

19.6.15 ops 392

19.6.16 overload 392

19.6.17 re 393

19.6.18 sigtrap 393

19.6.19 subs 394

19.6.20 vars 394

第20章 扩展和嵌入Perl 395

20.1 Perl的内核 395

20.1.1 Perl体系结构 396

20.1.2 内部对象 396

20.1.3翻译器 397

20.1.4操作码 397

20.1.5编译 400

20.1.6执行 401

20.2 Perl的内部结构 402

20.2.1 变量 402

20.2.2 栈 406

20.2.3 栈的大小 411

20.2.4 Perl内核的归纳 411

20.3 Perl的扩展编程 411

20.3.1 Perl的扩展接口 411

20.3.2 XS简介 412

20.3.3 SWIG简介 412

20.3.4 使用XS 413

20.4 在其他语言中使用Perl 434

20.4.1内嵌Perl解释器 435

20.4.2 使用特定的函数 436

20.4.3 多个实例 438

20.4.4 XS初始化过程 439

20.5 同其他语言配合使用 439

20.5.1 将其他语言转换成Perl 439

20.5.2 将Perl转换成其他语言 443

20.5.3 在Perl中调用其他语言 443

第21章 调试程序和优化代码 445

21.1 调试技术 446

21.1.1 使用Print语句 446

21.1.2 使用 caller 448

21.1.3 使用eval函数 450

21.1.4编写日志 452

21.1.5向syslog报告调试信息 453

21.1.6向Windows NT/2000事件日志报告调试信息 454

21.2 使用调试器 454

21.2.1 watches 监控 454

21.2.2 步进 454

21.2.3 断点 455

21.2.4 Perl调试器 455

21.2.5 ActivePerl调试器 465

21.3 Perl和其他语言的差别 466

21.3.1 Perl和awk/gawk的差别 466

21.3.2 Perl和C之间容易混淆的地方 467

21.3.3 Perl和sed之间容易混淆的地方 469

21.3.4 Perl和emacs之间容易混淆的地方 469

21.3.5 Shell和Perl之间容易混淆的地方 469

21.3.6 Perl和Python之间容易混淆的地方 469

21.4 代码优化 471

21.4.1 Perl Profiler 471

21.4.2手工Profiling 475

21.4.3 优化代码时要注意的地方 476

第22章Perl编译器 481

22.1 使用转储功能 482

22.2 使用Perl编译器 483

22.2.1 后端 483

22.2.2 perlcc前端 492

22.2.3 解释代码和编译代码之间的区别 494

22.3 速度比较 495

22.3.1 测试 495

22.3.2概括结果 498

第23章Perl的文档 500

23.1 使用Perl提供的文档 500

23.1.1 UNIX 503

23.1.2 Windows 503

23.1.3 Mac OS/Mac OS X 503

23.2 编写POD文档 506

23.2.1 POD组件 506

23.2.2 命令段落 506

23.2.3 一般文本段落 507

23.2.4 Verbatim段落 508

23.2.5 转义序列 508

23.2.6 嵌入文档 508

23.3 将POD转换成其他格式 509

23.3.1 文本(TEXT) 510

23.3.2 HTML 510

23.3.3 man page 510

23.3.4 PostScript/PDF 511

23.3.5 通过自己编写的脚本将POD转换成HTML 512

第24章Perl中跨平台使用的问题 513

24.1 函数支持 513

24.2 常量的跨平台兼容 514

24.3 执行环境 514

24.4 错误报告 514

24.5 行结束符 514

24.6字符集 515

24.7 数据差别 515

24.8 文件和文件路径 515

24.9模块 516

24.10 性能和资源 516

24.11 跨系统使用Perl的一些技巧 516

24.11.1 判断当前的操作系统 516

24.11.2判断Perl版本 517

24.11.3检验所支持的函数 518

24.11.4 函数重载 518

第25章 发布模块和应用程序 520

25.1 Perl Makefile 和Extutils::MakeMaker 520

25.1.1 Perl Makefiles和CPAN 521

25.1.2 Perl Makefiles和PPM 521

25.1.3 扩展程序建立和安装概述 521

25.1.4 MakeMaker概述 523

25.1.5 h2xs工具 524

25.1.6 MakeMaker配置选项 524

25.1.7 创建一个伪程序描述文件 528

25.1.8默认的程序描述文件目标 529

25.1.9创建一个新的Perl 二进制可执行文件 529

25.1.10 Package Builder的目标 530

25.2 MakeMaker的一些技巧 532

25.2.1 确定先决条件 532

25.3向CPAN提供打包的模块 535

25.4向PPM/VPM提供打包的模块 535

附录A 参考函数 537

附录B标准Perl库 618

附录C 资源 704