基本信息
书名:Perl进阶(第2版)
原价:69
作者:兰德尔 L. 施瓦茨(Randal L. Schwartz)、布莱恩 d
出版社:人民邮电
出版日期:2015-(咨询特价)
ISBN(咨询特价)
字数:452
页码:332
版次:1
装帧:平装
开本:16开
商品重量:
编辑推荐
本书是Learning Perl一书的进阶。学完本书之后,您可以使用Perl语言的特性编写从简单脚本到程序在内的所有程序,正是Perl语言的这些特性输成为通用的编程语言。本书为读者深入介绍了模块、复杂的数据结构以及面向对象编程等知识。
本书每章的篇幅都短小精悍,读者可以在一到两个小时内读完,每章末尾的练习有助于您巩固在本章所学的知识。如果您已掌握了Learning Perl中的内容并渴望能更进一铂本书将向您讲授Perl语言的绝大多数核心概念,以便在任何平台上编写出健壮的程序。
本书主题包括:
包和命名空间;
引用和作用域,包括正则表达式的引用;
操作复杂的数据结构;
面向对象编程;
编写和使用模块;
测试Perl代码;
为CPAN做出贡献。
内容提要
Perl是一种功能强大的通用编程语言,享有“一种拥有各种语言功能的梦幻脚本语言”、“UNIX中的工具”等美誉,受到了国内程序员和系统管理员的青睐。
《Perl进阶(第2版)》作为Learning Perl一书的进阶,主要讲解了如何更加有效地利用Perl进行开发。本书总共分为21章,每章内容篇幅不大,主要内容包括Perl简介、使用模块、中级操作基础、引用简介、引用和作用域、操作复杂的数据结构、对子例程的引用、文件句柄引用、正则表达式引用、构建更的程序、创建自己的Perl发行版、对象简介、测试简介、带数据的对象、Exporter模块、对象析构、Moose简介、高级测试、为CPAN贡献代码等知识。
《Perl进阶(第2版)》适合具有一定Perl基础的程序员和系统管理员阅读。对于高级Perl程序员来讲,《Perl进阶(第2版)》也是技术参考读物。
目录
目录
第1章简介1
1.1背景知识2
1.2strict和warnings2
1.3Perl v5.143
1.4关于这些脚注4
1.5关于后续的练习4
1.6获取帮助的方式5
1.7如果是一个Perl课程讲师5
1.8练习6
第2章使用模块7
2.1标准发行版7
2.2探讨CPAN8
2.3使用模块9
2.4功能接口10
2.5面向对象的接口11
2.5.1一个更典型的面向对象模块:Math::BigInt12
2.5.2更佳的模块输出13
2.6核心模块的内容14
2.7Perl综合典藏网15
2.8通过CPAN安装模块16
2.8.1CPANminus16
2.8.2手动安装模块17
2.9适时设定路径18
(咨询特价)在程序外部设定路径20
(咨询特价).1使用PERL5LIB扩展@INC20
(咨询特价).2在命令行扩展@INC目录21
(咨询特价)local::lib21
(咨询特价)练习23
第3章中级基础24
3.1列表操作符24
3.1.1使用grep表达式过滤列表25
3.1.2使用map转换列表27
3.2使用eval捕获错误28
3.3用eval语句块动态编译代码30
3.4使用do语句块31
3.5练习32
第4章引用简介33
4.1在多个数组上完成相同的任务33
4.2PeGS:Perl图形结构35
4.3对数组取引用36
4.4对数组引用进行解引用操作38
4.5去除大括号40
4.6修改数组40
4.7嵌套的数据结构41
4.8用头简化嵌套素的引用43
4.9散列的引用44
(咨询特价)检查引用类型47
(咨询特价)练习49
第5章引用和作用域51
5.1关于数据引用的更多信息51
5.2如果它曾是变量名将会怎样52
5.3引用计数和嵌套数据结构53
5.4当引用计数出现问题时55
5.5直接创建匿名数组57
5.6创建匿名散列59
5.7自动带入61
5.8自动带入和散列63
5.9练习65
第6章操作复杂的数据结构67
6.1使用调试器查看复杂的数据67
6.2使用Data::Dumper模块查看复杂的数据71
6.3数据编组74
6.3.1使用Storable模块对复杂数据排序75
6.3.2YAML模块80
6.3.3JSON模块81
6.4使用map和grep操作符81
6.5应用一点间接方法81
6.6选择和改变复杂数据83
6.7练习84
第7章对子例程的引用86
7.1对命名子例程的引用86
7.2匿名子例程90
7.3回调92
7.4闭包93
7.5从一个子例程返回另一个子例程94
7.6作为输入参数的闭包变量97
7.7闭包变量作为静态局部变量98
7.8查询我们自己的身份101
7.8.1令人着迷的子例程102
7.8.2转储闭包105
7.9练习105
第8章文件句柄引用107
8.1旧方法107
8.2改进的方法108
8.3指向字符串的文件句柄110
8.4文件句柄集合111
8.5IO::Handle模块和其他相应的模块112
8.5.1IO::File模块113
8.5.2IO::Scalar模块114
8.5.3IO::Tee模块115
8.5.4IO::Pipe模块116
8.5.5IO::Null模块和IO::Interactive模块117
8.6目录句柄117
8.7练习118
第9章正则表达式引用120
9.1正则表达式引用之前120
9.2预编译模式122
9.2.1正则表达式选项123
9.2.2应用正则表达式引用123
9.3作为标量的正则表达式124
9.4建立正则表达式126
9.5创建正则表达式的模块128
9.5.1使用常见的模式128
9.5.2组装正则表达式129
9.6练习130
第10章实用的引用技巧132
10.1更佳的输出132
10.2用索引排序134
10.3更为高效的排序135
10.4施瓦茨变换136
10.5使用施瓦茨变换实现多级排序137
10.6递归定义的数据138
10.7构建递归定义的数据139
10.8显示递归定义的数据142
10.9避免递归143
(咨询特价)练习146
第11章构建更的程序148
11.1修改通用代码148
11.2使用eval插入代码149
11.3使用do语句150
11.4使用require语句151
11.5命名空间冲突的问题153
11.6使用包作为命名空间分隔符154
11.7Package指令的作用域156
11.8包和专门词汇157
11.9练习159
第12章创建你自己的发行版160
12.1Perl模块的两个构建系统160
12.1.1在Makefile.PL内部161
12.1.2在Build.PL文件内部162
12.2**个发行版163
12.2.1h2xs工具163
12.2.2Module::Starter模块164
12.2.3定制模版165
12.3在你的发行版内部165
12.3.1META文件167
12.3.2添加额外的模块168
12.4模块内部169
12.5老式文档171
12.5.1段落的Pod命令172
12.5.2Pod段落172
12.5.3Pod格式标记173
12.5.4检查Pod格式174
12.6模块中的代码174
12.7模块构建的总结175
12.7.1创建基于Module::Build模块的发行版175
12.7.2创建ExtUtils::Makemaker发行版176
12.8练习176
第13章对象简介177
13.1如果我们可以和动物对话177
13.2介绍方法的调用头179
13.3方法调用的额外参数180
13.4调用第二个方法进一步简化181
13.5关于@ISA的几个注意事项183
13.6方法重写184
13.7开始从不同的地方查找186
13.8使用SUPER的实现方法186
13.9要对@_做些什么187
(咨询特价)我们在哪里187
(咨询特价)牧场总结187
(咨询特价)练习189
第14章测试简介190
14.1为什么需要测试190
14.2Perl的测试流程191
14.3测试的艺术193
14.4测试用具195
14.5标准测试195
14.5.1模块编译的检查196
14.5.2模板测试198
14.5.3测试Pod200
14.6添加**个测试201
14.7测量测试覆盖率204
14.7.1子例程覆盖率205
14.7.2语句覆盖率205
14.7.3分支覆盖率205
14.7.4条件覆盖率206
14.8练习206
第15章带数据的对象208
15.1马属于马类,各从其类是吗208
15.2调用实例方法210
15.3访问实例数据211
15.4如何构建Horse的实例211
15.5继承构造函数212
15.6编写能够使用类或实例作为参数的方法213
15.7为方法添加参数213
15.8更有趣的实例214
15.9一匹不同颜色的马215
(咨询特价)收回存款216
(咨询特价)不要查看“盒子”里面的内容217
(咨询特价)更快的setter和getter218
(咨询特价)getter作为双倍的setter219
(咨询特价)仅仅限制一个类方法或者实例方法219
(咨询特价)练习220
第16章一些高级对象主题221
16.1通用方法221
16.2为了更好的行为而测试对象222
16.3*后的手段224
16.4使用AUTOLOAD创建访问器225
16.5更容易地创建getter和setter226
16.6多重继承228
16.7练习229
第17章Exporter230
17.1use语句在做什么230
17.2使用Expo
作者介绍
Randal L. Schwartz是一位Perl编程语言专家。除了写作了Learning Perl以及Programming Perl的前两版之外,他还是UNIX Review、Web Techniques、Sys Admin以及Linux Magazine的Perl专栏作家。他对十多本Perl图书以及200多篇杂志文章做出了贡献。Randal还经营着一家Perl培训和咨询公司(Stonehenge咨询服务公司),并且凭借着其技术技能、善于互动以及超高的人气被公认为Perl的发言人。他还是一位相当有水准的K歌歌手。
brain d foy自从1998年起就是Stonehenge咨询服务公司的一名讲师,自从他成为物理系的研究生起就是一名Perl用户,而且自从他拥有了电脑之后,就成了一名Mac的铁杆用户。他成立了Perl用户组——New York Perl Mongers,还成立了非盈利的Perl Mongers公司,该公司帮助形成了全球200多个Perl用户组。他是Perl核心文档perlfaq部分的维护人,还维护着CPAN的多个模块以及一些独立的脚本文件。他是The Perl Review(一家致力于Perl的杂志)的出版人,并经常在各种会议(包括Perl Conference、Perl University、MaccusEvans BioInformatics’ 02和YAPC)上发表演讲。他写作的Perl作品可以在O’Reilly Network、The Perl Journal、Dr. Dobbs、The Perl Review、use.perl.org以及多个Perl新闻组上找到。
Tom Phoenix自从1982年起投身于教育领域,在科学博物馆工作的13多年里,他经历了解剖、、与有趣的小动物共事,以及冒着火花的高压电等事情,然后从1996年起加入了Stonehenge咨询服务公司,并讲授Perl课程。从那时起,他去过了很多有趣的地番没准你不久之后就会在Perl Mongers的会议上见到他。当他有空闲时,就会在comp.lang.perl.misc和comp.lang.perl.moderated新闻组上回答问题,而且为Perl的发展和使用贡献颇多。除了Perl、Perl以及相关主题的工作之外,Tom还在业余密码学和讲世界语方面投入了很多时间。Tom住在俄勒冈州波特兰市。
序言
暂无相关内容