《Perl 5编程详解》PDF下载

  • 购买积分:23 如何计算积分?
  • 作  者:(美)(E.S.帕斯科)Edward S.Peschko,(美)(M.德沃夫)Michele Dewolfe著;康博创作室译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:1999
  • ISBN:7111072839
  • 页数:858 页
图书介绍:

目录 1

前言 1

第1章设置Perl 5的环境 1

1.1概述 1

1.2 Perl 5的安装 1

1.3安装自己的Perl 9

1.3.1在Unix 上安装Perl 9

1.3.2在Windows 95/NT上构造Perl 5 15

1.3.3在Macintosh 上构造Perl 21

1.3.4在OS/2上构造Perl 23

1.3.5在VMS上构造Perl 26

1.3.6在MS-DOS上构造Perl 27

1.3.7安装Perl的附加程序包 29

1.3.8安装文档 31

1.4其他支持 33

1.4.1 Web站点 33

1.4.2新闻组 33

1.4.3邮件列表 33

1.4.4专业支持 34

1.5小结 34

第2章30000英尺高度上的Perl:Perl的 35

概述 35

2.1概述 35

2.2引论 35

2.3运行Perl 36

2.3.1用一般方式运行Perl 36

2.3.2运行Perl的原则 37

2.3.3 Perl的开关 38

2.3.4在不同的操作系统上运行Perl 38

2.3.5运行Perl的小结 42

2.4通用的Perl语法 42

2.4.1 Perl变量 42

2.4.2其他变量 44

2.4.3常见错误 47

2.4.4在30000英尺的高度上观看Perl的小结 49

2.5 Perl的一些例子 49

2.5.1例1a:从一组ASCII格式平面文件中访问数据并打印数据 50

2.5.2例1b:从一组Excel格式平面文件中访问数据并打印数据 52

2.5.3例2:当某个进程完成的时候,向其他项目成员发送电子邮件 54

2.5.4例3:与Internet服务提供商进行连接 55

2.5.5例4:在不同的系统上不能提供的功能:cat 57

2.5.6例5:在不同的系统上不能提供的功能:grep 58

2.5.7例6:在不同的系统上不能提供的功能:find 60

2.6小结 62

第3章Perl中的变量 63

3.1概述 63

3.2基本的Perl数据类型 63

3.2.1标量 64

3.2.2操作标量的函数和运算符 71

3.2.3有关标量内容的小结 74

3.3数组和列表 74

3.4哈希变量 80

3.5句柄 84

3.5.1对文件句柄进行操作 85

3.5.2文件句柄小结 89

3.5.3例子 89

3.6 Perl变量小结 92

第4章Perl的控制结构和运算符 94

4.1概述 94

4.1.1 Perl的本质 94

4.1.2 Perl的控制结构 96

4.1.3 for控制结构 98

4.1.4 foreach控制结构 99

4.1.5if..else..elsif控制结构 101

4.1.6对控制结构的控制 102

4.1.7标记控制结构 106

4.1.9 Perl运算符简介 108

一些内容 108

4.1.8关于Perl控制结构的最后 108

4.1.10 Perl运算符的优先级 109

4.1.11使Perl的表达式清晰的技术 110

4.1.12使用优先级表 111

4.1.13 Perl语言中常用的运算符 112

4.1.14 Perl控制结构和运算符的小结 116

4.1.15例子:Perl中常见的表达式 116

4.1.16 Perl表达式模式小结 122

4.2小结 122

第5章函数和作用域 124

5.1概述 124

5.2函数 124

5.2.2参数栈 125

5.2.1语法 125

5.2.4返回值栈 128

5.2.3参数栈的小结 128

5.2.5把多个数组或哈希结构传递给 132

函数 132

5.2.6 Perl函数的注意事项 134

5.2.7注意事项的小结 137

5.2.8函数的小结 137

5.3 Perl作用域的方法 138

5.3.1作用域语法 139

5.3.2 “my”和词法作用域 139

5.3.3 “local”和动态作用域 143

5.3.4 “use strict” 145

5.4.1使用递归的子程序的例子 146

5.3.5 Perl中作用域规则的小结 146

5.4子程序的一些例子 146

5.4.2使用引用的子程序的一些例子 148

5.4.3使用wantarray的子程序的例子 149

5.4.4作用域的例子 151

5.5小结 152

第6章Perl 5中的上下文 154

6.1概述 154

6.2数据上下文简介 154

6.3标量上下文 155

6.4列表上下文 156

6.5带有数组的列表上下文 157

6.6哈希结构怎么样? 158

6.7.1 使用内置函数以确定数据类型 160

6.7判断上下文的方法 160

6.7.2使用运算符确定数据类型 161

6.7.3高级上下文 163

6.7.4利用位置来确定数据类型 164

6.7.5带有内插的上下文规则 165

6.7.6 上下文和函数调用 166

6.7.7数组引用和上下文 167

6.7.8控制结构和上下文 168

6.7.9结论 169

6.7.10例子 169

6.8小结 174

7.2引论 175

7.1概述 175

第7章 引用 175

7.3 Perl 5的引用:硬引用和软引用 176

7.4引用和作用域垃圾收集 192

7.5例子 193

7.6小结 200

第8章关于Perl的引用以及常见数据结构的另外一些内容 202

8.1概述 202

8.2数组的数组 203

8.2.1如何识别数组的数组 203

8.2.2对数组的数组的直接访问 203

8.2.3在数组的数组中一个常见的错误概念 205

8.2.4创建数组的数组 206

8.2.5数组的数组的访问函数 210

8.3哈希结构数组 213

8.3.1匿名引用结构 214

8.3.2对哈希结构数组进行访问的小结 216

8.3.3哈希结构数组的构造函数 216

8.3.4哈希结构数组的小结 223

8.3.5哈希结构的哈希结构 223

8.3.6访问哈希结构的哈希结构的方法小结 225

8.3.7哈希结构的哈希结构的小结 230

8.4数组的哈希结构 230

8.5常见的数据结构的小结 235

8.6小结 235

第9章正则表达式 237

9.1概述 237

9.2引论 237

9.3 Perl正则表达式的基础 238

9.3.1原则1 239

9.3.2原则2 240

9.3.3原则3 240

9.3.4原则4 241

9.3.5原则5 242

9.3.6原则6 247

9.3.7原则7 256

9.3.8原则8 257

9.3.9正则表达式原则概括 259

9.3.10正则表达式修饰符 260

9.3.11匹配和g运算符 263

9.3.12修饰符和环境 264

9.4正则表达式的例子 266

9.5小结 273

第10章Perl内置函数和变量 274

10.1概述 274

10.2引论 274

10.3 Perl的内置函数 275

10.3.1在内置函数后面的原则 276

10.3.2主函数 276

10.3.3用于格式化数据的操作 277

10.3.4对文件和变量的读写操作 279

10.3.5文件句柄的读写操作的小结 281

10.3.6关于变量的操作 282

10.3.7变量操作小结 290

10.3.8时间函数 290

10.3.10 调试函数 292

10.3.9时间函数小结 292

10.3.11调试函数小结 294

10.3.12 Perl对操作系统的接口 294

10.3.13文件运算符 300

10.3.14内部Perl函数小结 301

10.4内部Perl变量 302

10.4.1内部文件句柄 303

10.4.2内部令牌 304

10.4.3内部命名变量 305

10.4.4内部单字符变量 308

10.4.5内部变量小结 313

10.5小结 313

第11章Perl5杂项 315

11.1概述 315

11.2.1格式的语法 316

11.2格式 316

11.2.2格式如何工作 318

11.3 Coderefs 320

11.3.1 Coderefs的格式 320

11.3.2匿名子程序 321

11.3.3代码引用小结 324

11.4 Globbing 324

11.4.1 Globbing技巧 325

11.4.2 Globbing和Exporter 325

11.5用Perl运行程序 326

11.5.1 Perl编译步骤 327

11.5.2关于Perl语法分析的更多内容 328

11.5.3 BEGIN/END的其他用途 330

11.6 Eval 339

11.5.4 BEGIN/END小结和流控制 339

11.6.1使用eval的原则 340

11.6.2 eval的用法 340

11.6.3 eval小结 343

11.7小结 344

第12章例子 345

12.1概述 345

12.2 功能示意图 346

12.3 grep程序 346

12.3.1环境grep 347

12.3.2 cgrepStack.p用法 354

12.3.3 filegrep用法 354

12.4.1给文件做索引 358

12.4文本/文件操纵 358

12.4.2比较和对照目录结构 360

12.4.3删除垃圾文件 364

12.4.4解开一个简单密码 365

12.4.5匹配Perl性质的数字的正则表 367

达式 367

12.5代码生成器 368

12.5.1自动化Telnet 369

12.5.2使ftp自动化 377

12.6 OLE自动化:对象链接和嵌入 380

12.6.1 OLE简介 381

12.6.2用OLE对Word进行更多控制 383

12.6.3 Excel例子:合并两个电子表格 385

12.6.4通过MAPI发送邮件 387

12.7 WinPerl++ 389

12.7.1 Excel 390

12.7.2带有Guido的Word 393

12.7.3自动生成模板文件和IDE 393

12.7.4 Guido小结 394

12.8 Lib WWW例子 394

12.8.1从Web上获取html页 394

12.8.2从Web表单中获取http标记 395

12.8.3分析用户信息在线表单的表单建造器 396

12.9 CGI例子 400

12.9.1可嵌入的Web计数器 400

12.9.2 Meta-Webcrawler 403

12.10错误跟踪器 409

12.11数据库 420

12.11.1数据库监视器:查看数据库信息 421

12.11.2数据库小结 426

12.12 PerlTk例子 427

12.12.1小型Tk教程 427

12.12.2 PerlTk介绍小结 431

12.12.3邮件过滤器 431

12.12.4从Tk应用程序内部运行脚本 435

12.12.5 Tk举例小结 442

12.13小结 442

第13章 面向对象编程简介 443

13.1概述 443

13.2.1抽象 444

13.2理解面向对象的编程 444

13.2.2关于学习对象编程的困难 447

13.2.3初学者学习面向对象编程指南 449

13.3小结 450

第14章库和模块的语法 451

14.1概述 451

14.2 Namespaces 451

14.2.1名字空间的原则 451

14.2.2实用的名字空间和包提示 454

14.2.3名字空间小结 455

14.3 库和关键字require 455

14.3.1 require的用法 455

14.3.2 require小结 458

14.4.1 use的用法 459

14.4带有use的模块 459

14.4.2常用use指令 461

14.4.3 use的更多例子 463

14.4.4 use小结 465

14.5从磁盘安装模块和库 466

14.5.1库和模块的路径映射:@INC和 466

%INC 466

14.5.2库和模块路径映射小结 469

14.6建立开发环境 469

14.7小结 473

第15章Perl中的抽取化和模块编程 474

15.1模块化编程概念 474

15.1.1模块化编程的代价 474

15.1.2把过程脚本转为模块化脚本 476

15.1.3抽取变量处理 484

15.1.4结论例子 490

15.1.5抽取的公用代码的小结 493

15.1.6模块化编程的示例 494

15.2小结 504

第16章对象的语法 506

16.1概述 506

16.2基本对象原则 506

16.2.1一个简单的例子 507

16.2.2构造函数 508

16.2.3对象方法 510

16.2.4对象数据 512

16.2.5对象算法 512

16.2.6析构函数 513

16.3中等/高级对象原则 514

16.2.7基本对象原则小结 514

16.3.1类与对象 515

16.3.2继承性 518

16.3.3继承小结 523

16.3.4重载 524

第17章 普通对象 533

17.1概述 533

17.2普通类和对象 533

17.2.1 普通类和对象的定义 534

17.2.2示例概述:木板游戏Strategem 535

17.3小结 556

18.2设计决定:模块与对象 557

18.2.1模块编程特征 557

18.1概述 557

第18章 将旧代码转变为对象代码 557

18.2.2面向对象编程及封装 558

18.2.3在对象与模块之间选择 561

18.3将程序代码转变成对象 569

18.3.1例1:ftp和telnetExpect对象 569

18.3.2例2:配置文件 579

18.3.3重写telnet.p 584

18.4小结 587

第19章维护代码文档的类 589

19.1概述 589

19.1.1问题:解决代码文档恶梦 589

19.1.2第1步:查看可用的资源 589

19.1.3第2步:解决问题的提议 594

19.1.4第3步:正式设计和伪代码 602

19.1.5第4步:全面开发 607

19.1.6第5步:Pod::Checker文档化 625

19.1.7第6步:回归测试 629

19.2小结 629

第20章继承性和Perl 630

20.1概述 630

20.2更好的作业工具:对象图 630

20.2.1 ISA 630

20.2.2HASA 631

20.3继承性概述 632

20.3.1继承性的简要回顾 632

20.2.3对象图的小结 632

20.3.2继承性的优缺点 634

20.3.3继承性的优缺点小结 639

20.4 何时使用继承性或者何时不使用继承性的例子 639

20.4.1 例1 640

20.4.2例2 645

20.4.3例3 655

20.5小结 660

第21章分层和Perl 661

21.1概述 661

21.2分层概念 661

21.2.1在读者看到分层时判别它 662

21.2.2分层概念的详细介绍 664

21.2.3基本的设计样式 677

21.2.4最后的分层例子 698

21.3小结 719

第22章Perl开发环境 720

22.1概述 720

22.2开发程序:Perl式模型 720

22.2.1调试扩展程序 721

22.2.2编译器和错误检查器 722

22.2.3 Perl式模型 723

22.3 Perl开发工具 723

22.3.1缺省的Perl调试器 724

22.3.2使用调试器的一个例子 741

22.3.3用Devel::Coverage进行范围测试 746

22.3.4速度调试:配置程序 748

22.3.5 Perl编译器 764

22.3.6编译器的小结 765

22.4小结 766

第23章Perl调试技巧 767

23.1概述 767

23.2熟悉Perl中的调试编程 767

23.3正确编程的技巧 768

23.3.1 Perl的错误消息 768

23.3.2样式技巧 771

23.3.3 Perl安全防护 771

23.3.4-w标志和use diagnostics 775

23.3.5 Lint模块 779

23.3.6 use strict、-w和use diagnostics以及Lint的小结 783

23.4定位错误:用use carp进行堆栈跟踪 783

23.4.1 carp() 784

23.4.3 croak() 785

23.4.4 confess() 785

23.4.2 cluck() 785

23.4.5 use Carp的小结 786

23.5运行中调试——动态查找问题 786

23.5.1%SIG、$SIG{′_WARN_′}和 786

$SIG{′_DIE_′} 786

23.5.2$SIG{′_DIE_′} 787

23.5.3$SIG{′_WARN_′} 788

23.6成功的数据调试:Data::Dumper()和Tie::Watch() 788

23.6.1 Dumper()和调试对象 789

23.6.2 Tie::Watch 790

23.7.1-D的值 792

23.7调试标志 792

23.7.2-D和调试常规表达式的小结 794

23.8 用于调试的编程辅助工具 794

23.8.1例1:警告指令或实用程序 795

23.8.2例2:使用联系创建一个安全的对象 796

第24章利用已有的工具创建CGI脚本 799

24.1开始:命令行选项 799

24.2内部:输入、输出和数据一致性 808

24.2.1最大限度地利用POST 808

24.2.2浏览器特有的特征:Cookie 809

24.2.3返回身边的问题:数据 809

24.2.4通往CGI共存的前几个步骤 811

24.3又一个反复过程 815

24.4小结 825

第25章Perl/Tk中的Perl电子 826

表格(pss) 826

25.1概述 826

25.2为什么设计Perl电子表格 827

25.3高层设计 828

25.3.1单元格 829

25.3.2电子表格 829

25.3.3进行GUI设计 830

25.3.4电子表格布局和相应的设计 832

25.4算法:通过utxt处理数据 838

25.4.1基本数据 838

25.4.2可求值的表达式 838

25.4.5 utxt在设置数据和对单元格的引用方面的基本用法 839

25.4.4间接引用其他单元格 839

25.4.3内置的电子表格函数 839

25.4.6 utxt使用Perl语法的用法 840

25.4.7间接引用标志:==的用法 841

25.4.8避免无限的依赖性问题 844

25.4.9算法小结 845

25.5开发电子表格 845

25.6 调整新电子表格 846

25.6.1问题域 847

25.6.2可利用的工具 847

25.6.3写接口文件 848

25.6.4组装在一起 852

25.6.5调整的电子表格的小结 857

25.7小结 857