图书介绍

Perl高级编程2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

Perl高级编程
  • (英)Peter Wainwright等著;胡季红等译 著
  • 出版社: 北京:机械工业出版社
  • ISBN:7111101405
  • 出版时间:2002
  • 标注页数:1056页
  • 文件大小:52MB
  • 文件页数:1073页
  • 主题词:PERL语言(学科: 程序设计) PERL语言 程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Perl高级编程PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 概览1

1.1 简介1

1.1.1 关键的特性2

1.1.3 Perl的历史和版本3

1.1.2 支持平台3

1.1.4 基础信息4

1.2 构建和安装Perl5

1.2.1 安装预构建的Perl发布版本6

1.2.2 构建Perl源代码8

1.2.4 用CPAN模块安装模块12

1.2.3 构建和安装模块12

1.3.1 启动Perl应用程序21

1.3 运行Perl21

1.3.2 命令行23

1.3.3 命令行语法24

1.3.4 Perl环境26

1.4 小结28

2.1 值和变量29

第2章 基本概念29

2.3 数据类型30

2.2 空白区域30

2.4 特殊变量32

2.5 插值33

2.6.1 标量上下文和列表上下文34

2.6 上下文34

2.7 操作符35

2.6.2 空白上下文35

2.9 控制结构36

2.8 程序块36

2.10 循环修饰符38

2.11 子例程39

2.13 作用域40

2.12 函数40

3.1 值转换和高速缓存42

第3章 标量42

3.2.1 整数43

3.2 数字43

3.2.2 浮点数46

3.2.3 use integer编译指示50

3.2.4 数学函数51

3.3.1 引号和引用52

3.3 字符串52

3.3.2 here文档54

3.3.3 裸词字符串和版本号56

3.3.5 把字符串转换成列表和hash58

3.3.4 把字符串转换成数字58

3.3.6 操作字符串的函数60

3.3.7 字符串格式化69

3.4 小结72

4.1 操作符与函数比较73

第4章 操作符73

4.2.1 赋值操作符74

4.2 操作符类型和类别74

4.2.2 算术操作符75

4.2.3 移位操作符76

4.2.4 字符串操作符和列表操作符77

4.2.5 逻辑操作符78

4.2.6 位操作符79

4.2.7 组合赋值操作符82

4.2.8 递增操作符和递减操作符83

4.2.9 比较操作符84

4.2.11 逗号操作符和关系操作符86

4.2.10 正则表达式绑定操作符86

4.2.13 箭头操作符87

4.2.12 引用操作符和间接引用操作符87

4.2.14 范围操作符88

4.3 优先组和结合性90

4.2.15 三元操作符90

4.4 禁用函数和操作符95

4.5 覆盖操作符97

4.6 小结98

5.1 列表和数组99

第5章 标量之外的更多数据类型99

5.1.1 操作数组101

5.1.2 把列表和数组转换为标量108

5.2 hash110

5.2.1 操作 hash112

5.2.2 把列表和数组转换为hash114

5.2.3 把hash转换为标量118

5.2.4 把hash转换为数组119

5.2.5 特殊的hash变量% ENV120

5.3 引用124

5.4.1 嵌套带来的问题--列表被展开132

5.4 复杂的数据结构132

5.4.2 列表的列表和多维数组133

5.4.3 hash的hash和其他复杂的数据结构134

5.4.4 向复杂的数据结构添加元素和修改复杂的数据结构135

5.4.5 编程实现复杂的数据结构136

5.4.6 遍历复杂的数据结构139

5.5.1 定义typeglob142

5.5 typeglob142

5.5.2 操作typeglob143

5.5.3 访问typeglob144

5.6 未定义值145

5.6.1 存在测试147

5.6.2 使用未定义值148

5.6.3 把undef作为一个函数使用149

5.7.1 使用constant编译指示声明标量常量150

5.7 常量150

5.7.3 常量引用152

5.7.2 声明列表常量和hash常量152

5.8 小结153

5.7.4 列举和检查常量的存在153

6.1.1 声明155

6.1 表达式、语句和程序块155

第6章 结构、流和控制155

6.1.2 表达式和简单语句156

6.1.3 程序块和复合语句157

6.2 条件语句162

6.2.1 真值的概念163

6.2.2 if、else和elsif164

6.2.3 unless166

6.2.4 使用逻辑操作符写条件167

6.2.5 三元操作符168

6.2.6 开关和多分支条件171

6.2.7 从多分支条件中返回值173

6.3.1 使用for编写C样式的循环174

6.3 循环和循环过程174

6.3.2 使用foreach写出更好的循环175

6.3.3 条件循环--while、until和do179

6.3.4 控制循环执行183

6.3.5 goto语句187

6.3.6 map和grep189

6.4 小结191

7.1 声明子例程和调用子例程192

第7章 子例程192

7.1.1 匿名子例程和子例程引用193

7.1.2 严格子例程和use strict subs编译指示195

7.1.3 预声明子倒程196

7.1.4 子例程栈198

7.1.5 检查子例程和使Perl自动定义子例程202

7.2 传递参数204

7.2.1 传递列表和hash206

7.2.3 直接把@_传递给子例程208

7.2.2 把标量子例程转换为列表处理程序208

7.2.4 命名参数209

7.3 原型212

7.3.1 定义参数的个数和它们的作用域213

7.3.3 把子例程作为标量操作符215

7.3.2 使用原型设计代码引用215

7.3.4 请求变量而不是值216

7.3.6 禁用原型218

7.3.5 可选参数218

7.4 从子例程中返回值219

7.4.1 返回未定又值220

7.4.2 对调用上下文的检测和响应222

7.4.3 闭包224

7.4.4 可赋值的子例程226

7.5.1 定义子例程属性227

7.5 属性列表227

7.5.3 特殊属性228

7.5.2 访问属性228

7.5.4 包属性229

7.6 小结230

8.1.1 定义包变量231

8.1 包变量231

第8章 作用域和可见性231

8.1.3 声明全局包变量233

8.1.2 使用“严格的”变量233

8.1.5 使用our词法声明全局包变量234

8.1.4 使用use vars声明全局包变量234

8.1.6 在Perl中自动局部化235

8.1.7 使用local局部化包变量236

8.2.1 声明词法变量238

8.2 词法变量238

8.2.2 在词法变量作用域外使用它们239

8.3 符号表240

8.3.1 main包241

8.3.2 typeglob和main包242

8.3.4 直接操作符号表243

8.3.3 符号表层次243

8.3.5 访问符号表245

8.4 小结246

9.1 模块和包248

第9章 使用模块248

9.2 使用do、require和use装载代码249

9.2.1 导入列表250

9.2.3 使用no禁用特性251

9.2.2 禁止缺省导入251

9.2.4 测试模块版本和Perl的版本252

9.3.1 语用模块的工作原理253

9.3 语用模块253

9.4 特殊hash变量% INC254

9.3.2 语用模块的作用域254

9.5 特殊数组变量@ INC255

9.5.1 直接修改@ INC256

9.6 定位与脚本相关的库257

9.5.2 使用lib编译指示修改@ INC257

9.7 检查一个模块的可用性258

9.8 找出被安装的模块259

9.9 将模块的载入推迟至使用时262

9.10 小结264

10.1 BEGIN块、END块和其他程序块265

第10章 模块与包内幕265

10.1.1 BEGN块267

10.1.3 CHECK和 INIT269

10.1.2 END块269

10.2 操作包270

10.2.1 删除包272

10.3 按程序方式查找包名273

10.2.2 禁止包变量273

10.4.1 自动加载子例程274

10.4 自动加载274

10.4.2 自行定义而不是自动加载子例程278

10.4.3 自动加载模块280

10.5 导入与导出285

10.5.1 导入机制286

10.5.2 导出288

10.6 创建可安装的模块299

10.6.1 编写良好的模块300

10.6.2 创建一个工作目录301

10.6.3 建立可安装的包302

10.6.4 添加一个测试脚本303

10.7 小结304

10.6.5 将模块上载到CPAN304

11.1.1 Perl的插值语法306

11.1 字符串插值306

第11章 正则表达式306

11.1.2 插入元字符和字符代码307

11.1.3 对变量进行插值308

11.1.5 插值上下文310

11.1.4 插值代码310

11.1.6 正则表达式中的插值311

11.1.8 保护字符串防止被插值312

11.1.7 在字符串变量中插人文本312

11.2 正则表达式314

11.2.1 正则表达式出现在什么位置315

11.2.2 正则表达式分隔符318

11.2.3 正则表达式的元素319

11.2.4 更高级的模式321

11.2.5 模式匹配修饰符330

11.2.6 正则表达式与通配符332

11.2.7 元字符333

11.2.8 提取匹配的文本337

11.2.9 不止一次匹配346

11.2.10 扩展模式356

11.2.11 文档化正则表达式357

11.2.12 书写有效的正则表达式358

11.2.13 检查正则表达式的有效性367

11.2.14 正则表达式、感染变量和调试369

11.2.15 置换375

11.2.16 音译377

11.3 小结380

12.1 10与文件句柄381

第12章 利用文件句柄进行输入与输出381

12.4 创建文件句柄382

12.3 标准文件句柄382

12.2 文件句柄数据类型382

12.4.1 利用open函数创建文件句柄383

12.4.2 为读、写以及更新打开文件384

12.4.4 打开标准输入与标准输出385

12.4.3 打开任意义件名385

12.4.5 利用IO::File创建文件句柄386

12.4.6 数据文件句柄388

12.5 引用文件句柄390

12.4.7 其他文件句柄390

12.6.1 读行操作符392

12.6 从文件句柄读数据392

12.6.2 读数据操作的精细控制395

12.6.4 读取一个字符396

12.6.3 检测文件结束396

12.7 向文件句柄中写数据397

12.7.1 缓冲方式与自动刷新方式398

12.8 处理二进制文件与文本文件399

12.7.2 print的其他替代函数399

12.8.2 Open编译指示400

12.8.1 binmode函数400

12.9.1 利用seek函数定位到文件中的某个特定位置401

12.9 随机访问401

12.9.2 利用Seek函数清除文件结束条件402

12.9.3 在文件结束位置写人数据403

12.10 截去文件与调整文件大小404

12.9.5 面向对象的随机访问404

12.9.4 查找当前位置404

12.11 文件上锁406

12.11.1 建立文件锁407

12.12 修改缺省的输出文件句柄409

12.11.2 文件上锁的问题与防止误解的说明409

12.12.2 自动恢复缺省文件句柄410

12.12.1 使用特殊变量来配置其他文件句柄410

12.13 文件句柄的复制与别名411

12.12.3 使用缺省变量与IO::Handle方法411

12.14 重定向文件句柄412

12.15 Cache多个文件句柄414

12.16 IO::Handle方法与特殊变量415

12.17.1 在系统级打开文件句柄419

12.17 系统级IO419

12.17.2 不带缓冲的读422

12.17.3 不带缓冲的写423

12.17.4 系统级文件定位424

12.17.5 fcntl与ioctl425

12.17.6 POSIX IO429

12.18 小结431

13.1.1 获取用户信息与组信息432

13.1 文件与文件名432

第13章 操作文件与目录432

13.1.2 一元文件测试操作符439

13.1.3 询问文件448

13.1.4 改变文件属性449

13.1.5 Fcntl模块452

13.1.6 链接、断开链接与重命名文件454

13.1.7 复制与移动文件457

13.1.8 比较文件459

13.1.9 查找文件460

13.1.10 解释文件路径465

13.1.11 文件名globbing466

13.1.12 glob语法467

13.1.13 临时文件471

13.2 操作目录475

13.2.1 读目录476

13.2.2 创建与删除目录480

13.2.3 目录间的转移483

13.3 小结485

14.1.1 命令行约定486

14.1 解析命令行参数486

第14章 命令行与Shell交互486

14.1.2 @ARGV数组487

14.1.3 利用Getopt::Std进行简单的命令行处理493

14.1.4 利用Cetop::tong进行更为复杂的命令行处理496

14.2 shell、shell命令与Perl512

14.2.1 创建一个简单的 Perl shell512

14.2.2 编写更为有用的shell513

14.2.3 将shell集成到Perl中516

14.2.4 在Windows系统上模拟UNIX命令518

14.3 小结520

15.1 与终端进行交互521

第15章 终端输入与输出521

15.2 从键盘读取数据522

15.2.2 利用Term:: ReadKey控制终端输入523

15.2.1 简单输入523

15.2.3 整行读528

15.2.4 利用Term:: ReadLine进行高级行输入535

15.2.5 创建终端对象536

15.2.6 单词自动完成540

15.3 写屏幕541

15.3.1 终端功能542

15.3.2 彩色输出545

15.4.1 Term::Screen549

15.4 高级终端模块549

15.4.2 Curses库551

15.5 通过POSIX直接进行终端编程556

15.6 小结558

16.1 启用警告559

第16章 警告与错误559

16.2 启用诊断560

16.3 产生警告与错误562

16.4 截取警告与错误563

16.5.1 错误编号与名称564

16.5 译解系统调用所产生的错误结果564

16.5.3 求值代码的错误565

16.5.2 设置错误编号565

16.5.4 扩展的错误消息566

16.5.6 检查子进程与外部命令的退出状态567

16.5.5 Errno与POSIX模块567

16.6 将非致命错误转换成致命错误568

16.7 利用Carp在上下文中返回警告信息与错误信息569

16.8 错误日志与系统日志571

16.9 高级警告572

16.10 小结574

17.1 语用调试支持575

第17章 调试575

17.2.1 一个简单的调试系统576

17.2 自行调试的应用程序576

17.2.2 一个更好的调试系统577

17.2.3 创建调试日志578

17.2.4 添加调用上下文到调试消息中579

17.3.1 启动调试器580

17.3 Perl调试器580

17.3.2 输入命令581

17.3.3 调试命令584

17.3.4 配置调试器594

17.3.5 跟踪与终端599

17.3.6 通过程序进入调试器600

17.3.7 对使用调试器异常分支601

17.4 调试模块与信息模块603

17.4.1 Dumpvalue模块604

17.4.2 Safe模块606

17.5 调试Perl解释器609

17.6 自动测试610

17.6.1 编写测试脚本611

17.6.2 自动化测试613

17.7 Profele614

17.7.2 产生Profile报告615

17.7.1 Profile Perl应用程序615

17.7.3 直接收集计时信息619

17.7.4 性能测试621

17.8 小结627

18.1 文本处理628

第18章 文本处理与文档生风628

18.1.1 使用Text::Tabs扩充和缩短制表符629

18.1.2 使用Text::Abbrev计算缩写630

18.1.3 使用Text::ParseWords解析单词和短语632

18.1.4 使用Text::Wrap格式化段落635

18.1.5 使用Text::Soundex匹配近似的发声单词638

18.2.2 简易老式文档641

18.2.1 注释641

18.1.6 其他文本处理模块641

18.2 文档化Perl641

18.2.3 pod工具和实用程序647

18.2.4 对pod编程650

18.3.1 格式与格式数据类型655

18.3 报告--在Perl中的r655

18.3.2 格式结构659

18.3.3 负面控制665

18.3.4 组合报告和规则输出668

18.4 小结670

19.1 对象简介672

第19章 面向对象Perl672

19.2.2 使用对象676

19.2.1 创建对象676

19.2 使用对象编程676

19.2.4 确定通过继承得到的特征679

19.2.3 确定一个对象是什么679

19.3.1 构造器681

19.3 编写对象类681

19.3.2 调试对象类701

19.4.1 从父类继承707

19.4 继承与派生类707

19.4.2 编写可继承的类709

19.4.3 私有方法713

19.4.4 扩展与重定义对象714

19.4.5 多继承717

19.4.6 UNIVERSAL构造器721

19.5 自动加载方法726

19.6.1 私有类数据730

19.6 保持数据私有730

19.6.2 私有对象数据731

19.7 销毁对象734

19.7.1 析构器和继承735

19.7.2 析构器与多继承736

19.8.1 基本重载737

19.8 重载操作符737

19.8.3 重载比较操作符739

19.8.2 确定操作数顺序和操作符名称739

19.8.4 重载转换操作740

19.8.5 回退到末重载的操作743

19.8.7 自动生成的操作745

19.8.6 重载与继承745

19.9 自动化对象类开发747

19.8.8 可重载的操作747

19.10.1 使用被捆绑的对象751

19.10 捆绑和被捆绑的对象751

19.10.3 标准捆绑对象类754

19.10.2 编写被捆绑的对象754

19.10.4 被捆绑的对象方法755

19.10.5 被捆绑的hash类的一个例子758

19.10.6 使用Tie::StdHash的类的一个例子760

19.11 小结762

20.1.1 perl-V764

20.1 分析Peil二进制文件--Config.pm764

第20章 深入hd764

20.1.2 工作原理765

20.2.1 源文件树767

20.2 Perl进一步分析767

20.2.2 构建Perl769

20.3.1 语法分析770

20.3 Perl工作原理770

20.3.2 编译772

20.3.3 解释773

20.4 内部变量类型774

20.4.2 IV775

20.4.1 PV775

20.4.3 NV776

20.4.5 使用Devel::Peek分析原始数据类型777

20.4.4 数组与hash777

20.5 Perl编译器780

20.5.2 B模块781

20.5.1 O模块781

20.5.3 B:模块家族783

20.5.4 编写Perl编译器后端796

20.6 小结799

21.1 在Perl中使用C800

第21章 Perl与其他程序设计语言的集成800

21.1.1 XS概述801

21.1.2 从h2xs启动802

21.1.3 XS文件804

21.1.4 XS函数806

21.1.5 TYPEMAP811

21.1.6 Makefile814

21.2 动态链接815

21.2.1 使用FFI模块816

21.2.3 使用Win32::API模块818

21.2.2 使用C:DynaLib模块818

21.3.1 第一步819

21.3 在C中使用Perl819

21.3.2 实现Perl解释器821

21.3.3 嵌入perl代码823

21.3.4 得到Perl值824

21.3.5 使用Perl子例程826

21.3.6 与Perl内核协同工作828

21.3.7 使用模块829

21.4 Java-Perl Lingo831

21.5.1 PerlCOM832

21.5 Perl与 COM832

21.5.2 PerlCtrl833

21.6 其他语言834

21.7 小结836

22.1 信号837

第22章 创建过程与管理进程837

22.1.1 信号处理839

22.1.3 报警846

22.1.2 发送信号846

22.2 启动新进程848

22.2.1 替换当前进程849

22.2.3 进程、组及端口监控程序850

22.2.2 进程ID850

22.3.2 获得退出状态852

22.3.1 等待一个子进程852

22.3 处理子进程并返回退出代码852

22.3.3 处理多个子进程853

22.3.4 POSIX标志及函数855

22.4.1 十分简单的解决方法856

22.4 进程间通信856

22.4.2 管道857

22.4.3 打开并运行外部进程859

22.4.4 双向管道860

22.4.5 使用分叉的open避开shell862

22.4.6 连接外部进程的双向管道863

22.5 进程间共享数据865

22.5.1 IPC::SysV866

22.5.2 消息队列867

22.5.3 信号量870

22.5.4 共享内存段873

22.6 线程875

22.6.2 创建线程876

22.6.1 检查线程支持876

22.6.4 线程特定数据877

22.6.3 标识线程877

22.6.5 线程管理878

22.6.7 条件变量、信号量及队列880

22.6.6 变量锁880

22.7 小结890

22.6.8 线程安全与锁定代码890

23.1.1 协议层891

23.1 网络简介891

第23章 Perl网络编程891

23.1.2 网际协议893

23.1.3 UDPWP896

23.1.7 匿名、广播与回送地址898

23.1.6 表示层/应用层898

23.1.4 ICMP898

23.1.5 其他协议898

23.2 Perl网络编程899

23.3 多路复用服务器921

23.4.1 系统网络文件928

23.4 获得网络信息928

23.4.2 判断本地主机名939

23.5 小结940

24.2 新行942

24.1 可移植的必要性942

第24章 编写可移植Perl942

24.3 文件与文件系统945

24.5 系统交互949

24.4 字节存放次序与数字宽度949

24.6 进程间通信950

24.8 模块951

24.7 外部子例程951

24.10 字符集与字符编码952

24.9 时间及日期952

24.14 风格953

24.13 安全性953

24.11 国际化953

24.12 系统资源953

24.15 平台956

24.15.2 DOS及其派生系统957

24.15.1 UNIX957

24.15.3 Mac OS958

24.15.4 其他Perl959

24.16 函数实现960

24.17 小结964

25.3 字符和Unicode简介965

25.2 结论965

第25章 Unicode965

25.1 Unicede所影响的用户群965

25.4 Perl中的数据968

25.5 Unicode和正则表达式969

25.6 双向脚本972

25.6.1 显示bidi973

25.6.2 bidi算法做了什么974

25.6.3 Perl和 bidi975

25.7 Perl、118n和Unicode976

25.7.3 创建HTML模板977

25.7.2 安装Unicode编辑器977

25.7.1 安装Unicode字体977

25.7.4 处理资源文件978

25.7.6 输出文件979

25.7.5 运行脚本979

25.8 小结981

25.7.7 正在进行的工作981

第26章 本地化和国际化982

26.1 走向地区的原因983

26.2 关于时间:时区995

26.3 看上去像外语997

26.4 葡萄牙语的词性变化999

26.5 Lingua::*模块1001

26.6 编写多语种网页1005

26.7 创建自己的本地化Perl模块1009

26.8 小结1011

附录A 命令行选项1012

附录B 特殊变量1014

附录C 函数1020

附录D 正则表达式1036

附录E 标准语用模块1041

附录F 标准功能模块1043

附录G Perl资源1050

附录H 与本书相关的网站:p2p.wrox.com1052

热门推荐