新書推薦:
《
艺术图像学研究(第一辑)
》
售價:NT$
857.0
《
摆脱强迫的人生(修订版)
》
售價:NT$
403.0
《
知宋·宋代之司法
》
售價:NT$
454.0
《
空间与政治
》
售價:NT$
398.0
《
少年读三国(全套12册)
》
售價:NT$
2234.0
《
不完美之美:日本茶陶的审美变革(知名茶人李启彰老师器物美学经典代表作 饮一口茶,长一分体悟与智慧 制一件器,生一曲手与陶土的旋律 不借由任何美学架构来觉知美)
》
售價:NT$
398.0
《
现代化的迷途
》
售價:NT$
449.0
《
钛经济
》
售價:NT$
352.0
編輯推薦:
- 探索高级的正则表达式功能
- 如何避免程序的常见安全问题
- 对 Perl 程序的性能分析和基准测试可以让你发现改进之处
- 清理 Perl 代码,使之更加直观和易读
- 了解 Perl 如何持续跟踪软件包内的变量
- 动态定义子程序
- 不必改动原有代码即可提升模块
- 使用位操作和位向量更有效地存储更大的数据
- 学习如何检测 Perl 中未报告的错误
- 深入学习日志、数据持久化和绑定变量的魔法
內容簡介:
推荐购买
《Zabbix企业级分布式监控系统》第一本Zabbix中文图书,企业级开源监控系统必选
《OpenStack企业云平台架构与实践》业内专家杜玉杰、金龙、金永霞联袂力荐;从架构的层面、以结合理论和工程的角度,对OpenStack构建企业云平台进行全面讲解
《精通Perl(第2版)》作者brian d foy 用他生动的第一人称视角向各位读者介绍了精彩的Perl 高级语言知识以及丰富的实战工具与实用技巧。《精通Perl(第2版)》各章的内容相对独立,您完全可以根据自己的兴趣或需要直达你所需要的章节。
《精通Perl(第2版)》的读者主要面对具有较多经验的Perl 编程人员。阅读本书前,建议阅读本书的姊妹篇《Perl 语言入门》和《Perl 进阶》。作者在这本书里针对调试、优化、错误和日志等方面均有深入解析,也揭示了Perl 中如绑定变量、持久化存储等各种魔法般的特性和功能的实现细节和用途。书中还对如何开发、调试自己的模块,以及如何做出更适合使用的模块做了详细介绍。
总之,本书可以作为读者在向Perl 高手进阶过程中的一个助力器,希望读者能在阅读过程中深入思考,加入自己的理解,用Perl 来完成一件件神奇的事情。
關於作者:
brian d foy是一名多产的Perl培训讲师和作家,其出版的The Perl Review帮助人们通过教育、咨询、代码审查等方面来学习和使用Perl。
王兴宇,Linux 中国(http:linux.cn)站长,中国反垃圾邮件联盟创始人,ChinaUnix创始人之一,中国电信高级专家。
刘宸宇,Linux中国翻译组(LCTT)负责人之一,曾经在国家某保密单位从事信息安全相关工作,现任职于中国电信的信息安全部门。
目錄 :
前言 vii
第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
p style=
內容試閱 :
译者序
——献给逝去的和新生的纪念
作为译者,总是有一些特权,比如说,可以在翻译的书前面,用铅字写一些自己想说的话。当然,作为读者,您可能不喜欢,不过,请您谅解我们激动的心情,愿意的话,您可以看看我们的吐槽。
我的父亲是一个传统的老知识分子,虽然我自己并不成器,但是他一直告诉我,要我写一些东西出来,留一些文字,因此能出版一些自己的文字一直是我心里长久的梦想。不过,我在各种方面的积淀还远远不够,所以直到现在也没有足以称道的文字可以出版。
在一个偶然的机会,我得到了付睿老师的委托,和刘宸宇一同接下了这本《精通Perl》的翻译工作。虽然翻译工作和出版自己的文字还不同,但是我想这也是我给去世的父亲的一点纪念吧。
Perl 我用了有十多年了吧,这门语言基本上算是我从事互联网行业以来第一门真正掌握和熟悉的语言了。最初是从一本薄薄的《Perl语言入门》,大约花了一周入门的。当时正值第一波的互联网热潮,工作方面使用Perl甚多,也陆续看过Perl方面的各种书籍,但是从来没有想到自己会有机会翻译一本Perl方面的书,更别说是这本经典Perl三部曲之一的《精通Perl》。
虽然现在Perl用的比较少了,但是今年Larry Wall先生来华访问时,还是专门去朝觐了一番。然后不久,就接到了付睿老师的委托,可谓有缘。
我平时的工作比较忙,而且也组织运作着一个翻译组:LCTT(Linux中国翻译组- http:lctt.github.io),业余时间都占满了,所以当时对是否要接下翻译工作有些犹豫。我和LCTT的核心成员之一刘宸宇(tinyeyeser)商量了一番,感觉这个事情还是很有意义的,所以我们两个共同接下了对这本书的翻译工作。
王兴宇
我要把这本书献给我刚出生的小天使,翻译完交稿不到10天,她便降临到我的世界里,成为了我生活中不可缺少的一部分。
一直以来,我喜欢翻译对话、评论、调侃性质的技术博客等文章,钟情于感受那种面对面交流的感觉;而技术书籍这种相对较为正式的翻译,对于我来说,反而是件痛苦的事,哪怕只翻译半本(前言、附录及前8章)。但是当我真正深入本书,与brian d foy 正面交锋时,我发现,这不正是我所熟悉的面对面的对话吗?是的!不同于一般的技术书籍,大师的行文,几乎所有的主观句子都是以第一人称“I”开头,这就好像他坐在你面前,手把手讲授一样,生动、客观、幽默、立体!因此,我和王兴宇(wxy)在翻译的时候,把大部分“I”翻译成了“我们”,这样既忠于作者的语境,也更贴合中国课堂上老师的讲课习惯。
冯德伦的电影《太极》里有一句词:“人这一辈子,干好一件事就足够了”。我自认为不是一个有长性的人,一件事情很难坚持做到最好,总是觉得60分及格就可以了。因此,翻译过程中一度出现了厌烦情绪,但我很高兴自己成功坚持了下来。我要感谢几个月来,整个翻译过程中一直陪伴我督促我的媳妇儿,她怀着身孕,每当我消沉的时候,都会在我耳边给予我支持和鼓励,“翻译完了吗?翻译完了吗?赶紧翻译啊!好好翻译啊!”每个成功男人的背后,都有一个伟(lao)大(dao)的女人。我爱这个唠叨的女人!
刘宸宇
Perl 作为老牌的编程语言,其成熟度和应用广泛令人称道,也是系统管理员和科研工作所必备的技能之一,因此,我们希望这本书的再版翻译,能够帮助读者进一步掌握Perl 语言的应用,也希望能够为开源社区反哺更多的智慧。
将来,如果有机会,我们也希望这本书能够以某种开源方式,分享给社区,并接受社区的不断反馈和完善,成为一本真正有生命力的书籍。
一本书的出版,其实要感谢很多人,虽然俗套,但是我们觉得依然有必要,占用一点小小的空间感谢他们:
感谢我们的家人的支持。
感谢我们的同事和领导的支持。
感谢编辑付睿老师的信任和委托。
感谢编辑李利健老师的辛勤审校。
感谢所有不知名的工作人员的辛勤工作。
王兴宇&刘宸宇