注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计其他编程语言/工具高阶Perl

高阶Perl

高阶Perl

定 价:¥79.00

作 者: Mark Jason Dominus
出版社: 机械工业出版社
丛编项:
标 签: Perl 程序设计 计算机/网络

购买这本书可以去


ISBN: 9787111427735 出版时间: 2013-06-01 包装: 平装
开本: 16开 页数: 392 字数:  

内容简介

  《高阶Perl》是Perl全球社区公认的经典著作,是资深Perl技术专家(核心贡献者之一)数十年工作经验的结晶,Perl 6设计者之一Conway亲自作序推荐。本书处处皆珍宝,不仅对Perl领域的各种经典问题给出了独到且精辟的解释,而且深入探讨了Perl中各种最新的主题,如递归、迭代器、过滤器、记忆术、划分、数值方法、高阶函数、currying、切断排序、基于语法的解析、惰性求值和约束编程等内容,并将这些转换成现实编程工作中强有力的实用工具:文件系统互动、HTML处理、数据库访问、网页抓取、排版、邮件处理、家庭理财、文本描图和图表生成等。全书包含大量真知灼见和最佳实践。全书共9章:第1章介绍了递归与调用等参数化函数行为,分析了数制之间的转换、目录遍历、递归适用条件等;第2章讲解了代码引用的另一种用法—分配表;第3章介绍了解决性能问题的一个简单和普遍的做法—缓存;第4章讲解了迭代器的详细使用方式,包括迭代器概念、自制迭代器、迭代器实例、过滤与变换、半谓词问题、网页抓取等;第5章讲解了将通用递归函数转换到迭代器的技术;第6章介绍了如何使用无限流来摒弃迭代器的缺陷,涉及链表、递归流、正则字符串等内容;第7章介绍了把一个普通的函数转换成一个函数工厂以制造更多函数的currying技术,以及把一个函数转换成另一个函数的技术;第8章讲解了将未结构化的输入转换为数据结构的方式—解析;第9章介绍了声明式编程的技术与应用。

作者简介

  Mark Jason Dominus(陶敏修),资深Perl技术实践者和研究者,对Perl技术有非常深刻的认识和理解,拥有丰富的实践经验。他是Tie::File、Text::Template和Memoize模块以及perlreftut手册页的作者,还是Perl核心贡献者之一。2001年赢得Larry Wall实用性大奖。热衷于分享,撰写了大量关于Perl的技术文章并分享在自己的博客上,由于文章技术含量高,所以非常受欢迎,这使得他在Perl技术圈内颇具知名度和影响力。他喜欢演讲,经常在大型公司和团体的Perl研讨会和培训课程上发表演讲或提供培训服务。译者简介滕家海,Perl技术实践者,精通Perl应用开发,对Perl技术拥有独到的认识和理解,近十年来一直参与Perl的实践开发,拥有丰富经验。业余时间潜心于技术的钻研,热衷于分享Perl技术,目前供职于一家IC设计公司,任CAD主管。

图书目录

本书赞誉
译者序
前言
第1章 递归与回调 
1.1 十进制到二进制的转换 
1.2 阶乘 
1.2.1 为什么私有变量是重要的 
1.3 汉诺塔 
1.4 层次化数据 
1.5 目录遍历的应用和变化 
1.6 函数式编程与面向对象式编程 
1.7 HTML 
1.7.1 更灵活的选择 
1.8 当递归膨胀时 
1.8.1 Fibonacci数 
1.8.2 划分 
第2章 分配表 
2.1 配置文件处理 
2.1.1 表驱动配置 
2.1.2 分配表的优势 
2.1.3 分配表策略 
2.1.4 默认行为 
2.2 计算器 
2.2.1 再访HTML处理 
第3章 缓存与记忆术 
3.1 缓存修正递归 
3.2 内联缓存 
3.2.1 静态变量 
3.3 好主意 
3.4 记忆术 
3.5 MEMOIZE模块 
3.5.1 作用域和有效期 
3.5.2 词法闭包 
3.5.3 再谈记忆术 
3.6 CAVEATS 
3.6.1 返回值不依赖参数的函数 
3.6.2 有边界效应的函数 
3.6.3 返回引用的函数 
3.6.4 带记忆的时钟 
3.6.5 非常快的函数 
3.7 键的生成 
3.7.1 用户提供的键生成器的更多应用 
3.7.2 内联的参数归一化的缓存管理 
3.7.3 带有引用参数的函数 
3.7.4 划分 
3.7.5 为非纯函数定制的键生成 
3.8 对象方法里的缓存 
3.8.1 对象方法的记忆术 
3.9 持续的缓存 
3.10 可供选择的记忆术 
3.11 传播福音 
3.12 速度的好处 
3.12.1 剖析和性能分析 
3.12.2 自动剖析 
3.12.3 钩子 
第4章 迭代器 
4.1 简介 
4.1.1 文件句柄是迭代器 
4.1.2 迭代器是对象 
4.1.3 迭代器的其他普通实例 
4.2 自制迭代器 
4.2.1 一个平凡的迭代器:upto() 
4.2.2 dir_walk() 
4.2.3 聪明的灵感 
4.3 实例 
4.3.1 排列 
4.3.2 基因组序列生成器 
4.3.3 文件句柄迭代器 
4.3.4 一个纯文本文件数据库 
4.3.5 反向搜索数据库 
4.3.6 随机数生成 
4.4 过滤和变换 
4.4.1 imap() 
4.4.2 igrep() 
4.4.3 list_iterator() 
4.4.4 append() 
4.5 半谓词问题 
4.5.1 避免问题 
4.5.2 可选的undef 
4.5.3 重写功能函数 
4.5.4 返回多个值的迭代器 
4.5.5 明确的耗尽函数 
4.5.6 四操作数迭代器 
4.5.7 迭代器方法 
4.6 可选的迭代器界面 
4.6.1 用foreach循环多个数组 
4.6.2 带有类each界面的迭代器 
4.6.3 系住变量界面 
4.7 一个扩展的例子:网页抓取 
4.7.1 仅追逐有趣的链接 
4.7.2 参考URL 
4.7.3 robots.txt 
4.7.4 总结 
第5章 从递归到迭代器 
5.1 再访划分问题 
5.1.1 搜寻所有可能的划分 
5.1.2 优化 
5.1.3 变化 
5.2 如何把一个递归函数转换成一个迭代器 
5.3 一个通用的搜索迭代器 
5.4 其他通用的移除递归的技术 
5.4.1 尾调用移除 
5.4.2 产生尾调用 
5.4.3 明确的栈 
第6章 无限流 
6.1 链表 
6.2 惰性链表 
6.2.1 一个平凡的流:upto() 
6.2.2 流的功能函数 
6.3 递归流 
6.3.1 使流带记忆 
6.4 HAMMING 问题 
6.5 正则字符串生成 
6.5.1 按次序生成字符串 
6.5.2 正则匹配 
6.5.3 切断排序 
6.6 NEWTON-RAPHSON方法 
6.6.1 近似流 
6.6.2 导数 
6.6.3 乌龟和兔子 
6.6.4 金融 
6.7 幂级数 
6.7.1 导数 
6.7.2 其他函数 
6.7.3 符号计算 
第7章 高阶函数与currying 
7.1 currying 
7.2 普通的高阶函数 
7.2.1 自动的currying 
7.2.2 原型 
7.2.3 更多的currying 
7.2.4 还是更多的currying 
7.3 reduce()和combine() 
7.3.1 布尔操作符 
7.4 数据库 
7.4.1 操作符重载 
第8章 解析 
8.1 词法分析器 
8.1.1 评估<>操作符 
8.1.2 更通用的词法分析器 
8.1.3 链式词法分析器 
8.1.4 偷看 
8.2 一般的解析 
8.2.1 语法 
8.2.2  解析语法 
8.3 递归下降解析器 
8.3.1 非常简单的解析器 
8.3.2 解析器操作符 
8.3.3 合成的操作符 
8.4 算术表达式 
8.4.1 一个计算器 
8.4.2 左递归 
8.4.3 star()的一个变体 
8.4.4 通用操作符解析器 
8.4.5 除错 
8.4.6 完成的计算器 
8.4.7 错误诊断和矫正 
8.4.8 大数 
8.5 解析正则 
8.6 大纲 
8.7 数据库查询解析 
8.7.1 词法分析器 
8.7.2 解析器 
8.8 回溯解析器 
8.8.1 续篇 
8.8.2 解析流 
8.9 重载 
第9章 声明式编程 
9.1 约束系统 
9.2 本地传播网络 
9.2.1 实现一个本地传播网络 
9.2.2 本地传播的问题 
9.3 线性方程 
9.4 linogram:一个绘图系统 
9.4.1 方程 
9.4.2 值 
9.4.3 特征类型 
9.4.4 解析器 
9.4.5 缺失的特征 
9.5 总结

本目录推荐