Perl语言入门

Book description

如果刚开始学习Perl这门语言,那么本书就是你所需要的——不管你是一名程序员,还是系统管理员,抑或是网络黑客。这本书被整整两代Perl用户昵称为“小骆驼书”,本书根据作者从1991年开始的教学经验积累汇聚而成,多年来十分畅销。此次第7版涵盖了最新的Perl 5.24版本的变化。

Perl能在绝大多数平台上完成几乎所有任务,不管是简单的修修补补,还是大型完备的网络应用。《Perl语言入门》从最基础的知识开始,然后逐渐深入,让你慢慢能够自行编写多至128行的程序——如今90%的Perl程序差不多都是这般大小。本书每章都包含若干习题,帮助你巩固消化刚学到的知识。也许其他书籍只是想着灌输Perl编程的条条框框,但本书不同,我们希望把你培养成一名真正的Perl程序员。

本书内容:

  • Perl的变量类型
  • 子程序
  • 文件的操作
  • 正则表达式
  • 字符串的操作
  • 列表与排序
  • 进程的管理
  • 智能匹配
  • 第三方模块的使用

Table of contents

  1. 封面
  2. 版权页
  3. O'Reilly介绍
  4. 目录 (1/2)
  5. 目录 (2/2)
  6. 前言
    1. 排版约定
    2. 代码范例
    3. 如何与我们联系
    4. 本书历史
    5. 新版更新
    6. 致谢
      1. 来自 Randal
      2. 来自 brian
      3. 来自 Tom
      4. 来自我们大家
  7. 第1章 简介
    1. 问题与答案
      1. 这本书适合你吗?
      2. 关于习题和解答?
      3. 如果我是 Perl 讲师?
    2. “Perl”这个词表示什么意思?
      1. Larry 为什么要创造 Perl?
      2. Larry 干嘛不用其他语言?
      3. Perl 算容易,还是算难?
    3. Perl 怎么流行起来的?
      1. 现在的 Perl 有何进展?
      2. Perl 擅长做哪些事?
      3. Perl 不适合做哪些事?
    4. 如何取得 Perl?
      1. CPAN 是什么?
      2. 有没有技术支持?
      3. 如果发现 Perl 有 bug 该怎么办?
    5. 我该怎么编写 Perl 程序?
      1. 一个简单的程序
      2. 程序里写的是什么?
      3. 我该如何编译 Perl 程序?
    6. 走马观花
      1. 习题
  8. 第2章 标量数据
    1. 数字
      1. 所有数字的内部格式都相同
      2. 整数直接量
      3. 非十进制整数的直接量
      4. 浮点数直接量
      5. 数字操作符
      6. 字符串
      7. 单引号内的字符串直接量
      8. 双引号内的字符串直接量
      9. 字符串操作符
      10. 数字与字符串之间的自动转换
    2. Perl 的内置警告信息
      1. 非十进制数字的转换
    3. 标量变量
      1. 给变量取个好名字
      2. 标量的赋值
      3. 复合赋值操作符
    4. 用 print 输出结果
      1. 字符串中的标量变量内插
      2. 用代码点创建字符
      3. 操作符的优先级与结合性
      4. 比较操作符
    5. if 控制结构
      1. 布尔值
    6. 获取用户输入
    7. chomp 操作符
    8. while 控制结构
    9. undef 值
    10. defined 函数
    11. 习题
  9. 第3章 列表与数组
    1. 访问数组中的元素
    2. 特殊的数组索引
    3. 列表直接量
      1. qw 简写
      2. 列表的赋值
      3. pop 和 push 操作符
      4. shift 和 unshift 操作符
      5. splice 操作符
    4. 字符串中的数组内插
    5. foreach 控制结构
      1. Perl 最喜欢用的默认变量:$_
      2. reverse 操作符
      3. sort 操作符
      4. each 操作符
    6. 标量上下文与列表上下文
      1. 在标量上下文中使用产生列表的表达式
      2. 在列表上下文中使用产生标量的表达式
      3. 强制指定标量上下文
    7. 列表上下文中的
    8. 习题
  10. 第4章 子程序
    1. 定义子程序
    2. 调用子程序
    3. 返回值
    4. 参数
    5. 子程序中的私有变量
    6. 变长参数列表
      1. 改进版的 &max 子程序
      2. 空参数列表
    7. 用 my 声明的词法变量
    8. use strict 编译指令
    9. return 操作符
      1. 省略与号
    10. 非标量返回值
    11. 持久化私有变量
    12. 子程序签名
    13. 习题
  11. 第5章 输入与输出
    1. 读取标准输入
    2. 来自钻石操作符的输入
      1. 双钻石操作符
    3. 调用参数
    4. 输出到标准输出
    5. 用 printf 格式化输出
      1. 数组和 printf
    6. 文件句柄
    7. 打开文件句柄
      1. 以二进制方式读写文件句柄
      2. 异常文件句柄的处理
      3. 关闭文件句柄
    8. 用 die 处理致命错误
      1. 用 warn 发出警告信息
      2. 自动检测致命错误
    9. 使用文件句柄
      1. 改换用于输出的默认文件句柄
    10. 重新打开标准文件句柄
    11. 用 say 来输出
    12. 标量变量中的文件句柄
    13. 习题
  12. 第6章 哈希
    1. 什么是哈希?
      1. 为何使用哈希?
    2. 访问哈希元素
      1. 访问整个哈希
      2. 哈希赋值
      3. 胖箭头
    3. 哈希操作函数
      1. keys 和 values 函数
      2. each 函数
    4. 哈希的典型应用
      1. exists 函数
      2. delete 函数
      3. 哈希元素内插
    5. 特殊哈希 %ENV
    6. 习题
  13. 第7章 正则表达式
    1. 序列
    2. 动手实践不同模式
      1. 通配符
    3. 量词
    4. 模式分组
    5. 择一匹配
    6. 字符集
      1. 字符集的简写
      2. 简写的反义形式
    7. Unicode 字符属性
    8. 锚位
      1. 单词锚位
    9. 习题
  14. 第8章 用正则表达式进行匹配
    1. 用 m// 进行匹配
    2. 模式匹配修饰符
      1. 用 /i 进行大小写无关的匹配
      2. 用 /s 匹配任意字符
      3. 用 /x 加入辅助空白字符
      4. 联合使用修饰符
      5. 选择字符的解释方式
      6. 行首和行末锚位
      7. 其他选项
    3. 绑定操作符 =~
    4. 捕获变量
      1. 捕获变量的存续期
      2. 禁用捕获的括号
      3. 命名捕获
      4. 自动捕获变量
    5. 优先级
      1. 优先级示例
      2. 还有更多
    6. 模式测试程序
    7. 习题
  15. 第9章 用正则表达式处理文本
    1. 用 s/// 进行替换操作
      1. 用 /g 进行全局替换
      2. 不同的定界符
      3. 替换操作的修饰符
      4. 绑定操作符
      5. 非破坏性替换
      6. 大小写转换
      7. 元字符转义
    2. split 操作符
    3. join 函数
    4. 列表上下文中的 m//
    5. 更强大的正则表达式
      1. 非贪婪量词
      2. 更为别致的单词边界符
      3. 跨行模式匹配
      4. 一次更新多个文件
      5. 从命令行直接替换文件内容
    6. 习题
  16. 第10章 其他控制结构
    1. unless 控制结构
      1. 伴随 unless 的 else 子句
    2. until 控制结构
    3. 表达式修饰符
    4. 裸块控制结构
    5. elsif 子句
    6. 自增与自减
      1. 自增的值
    7. for 控制结构
      1. foreach 和 for 之间的秘密关系
    8. 循环控制
      1. last 操作符
      2. next 操作符
      3. redo 操作符
      4. 带标签的块
    9. 条件操作符
    10. 逻辑操作符
      1. 短路操作符的返回值
      2. 定义或操作符
      3. 使用部分求值操作符的控制结构
    11. 习题
  17. 第11章 Perl模块
    1. 寻找模块
    2. 安装模块
      1. 安装到自己的目录
    3. 使用简易模块
      1. File::Basename 模块
      2. 仅选用模块中的部分函数
      3. File::Spec 模块
      4. Path::Class 模块
      5. 数据库和 DBI 模块
      6. 处理日期和时间的模块
    4. 习题
  18. 第12章 文件测试
    1. 文件测试操作符
      1. 同一文件的多项属性测试
      2. 栈式文件测试操作符
    2. stat 和 lstat 函数
    3. localtime 函数
    4. 位运算操作符
      1. 使用位字符串
    5. 习题
  19. 第13章 目录操作
    1. 当前工作目录
    2. 修改工作目录
    3. 文件名通配
    4. 文件名通配的隐式语法
    5. 目录句柄
    6. 文件和目录的操作
    7. 删除文件
    8. 重命名文件
    9. 链接与文件
    10. 创建和删除目录
    11. 修改权限
    12. 修改文件属主
    13. 修改时间戳
    14. 习题
  20. 第14章 字符串与排序
    1. 用 index 查找子字符串
    2. 用 substr 操作子字符串
    3. 用 sprintf 格式化字符串
      1. 用 sprintf 格式化金额数字
    4. 高级排序
      1. 按哈希值排序
      2. 按多个键排序
    5. 习题
  21. 第15章 进程管理
    1. system 函数
      1. 避免使用 Shell
    2. 环境变量
    3. exec 函数
    4. 用反引号捕获输出结果
      1. 在列表上下文中使用反引号
    5. 用 IPC::System::Simple 执行外部进程
    6. 通过文件句柄执行外部进程
    7. 用 fork 开展地下工作
    8. 发送及接收信号
    9. 习题
  22. 第16章 高级Perl技巧
    1. 切片
      1. 数组切片
      2. 哈希切片
      3. 键-值对切片
    2. 捕获错误
      1. eval 的使用
      2. 更高级的错误处理
    3. 用 grep 筛选列表
    4. 用 map 把列表数据变形
    5. 更棒的列表工具
    6. 习题
  23. 附录A 习题解答 (1/8)
  24. 附录A 习题解答 (2/8)
  25. 附录A 习题解答 (3/8)
  26. 附录A 习题解答 (4/8)
  27. 附录A 习题解答 (5/8)
  28. 附录A 习题解答 (6/8)
  29. 附录A 习题解答 (7/8)
  30. 附录A 习题解答 (8/8)
  31. 附录B 超越“小骆驼” (1/2)
  32. 附录B 超越“小骆驼” (2/2)
  33. 附录C Unicode入门 (1/3)
  34. 附录C Unicode入门 (2/3)
  35. 附录C Unicode入门 (3/3)
  36. 附录D 实验特性 (1/2)
  37. 附录D 实验特性 (2/2)
  38. 作者介绍
  39. 封面介绍

Product information

  • Title: Perl语言入门
  • Author(s): Randal L. Schwartz, brian d foy, Tom Phoenix
  • Release date: August 2018
  • Publisher(s): Southeast University Press
  • ISBN: None

You might also like

book

流畅的Python

by Luciano Ramalho

本书由奋战在Python开发一线近20年的Luciano Ramalho执笔,Victor Stinner、Alex Martelli等Python大咖担纲技术审稿人,从语言设计层面剖析编程细节,兼顾Python 3和Python 2,告诉你Python中不亲自动手实践就无法理解的语言陷阱成因和解决之道,教你写出风格地道的Python代码。 内容特色 Python数据模型:理解为什么特殊方法是对象行为一致的关键。 数据结构:充分利用内置类型,理解Unicode文本和字节二象性。 把函数视作对象:把Python函数视作一等对象,并了解这一点对流行的设计模式的影响。 面向对象习惯用法:通过构建类学习引用、可变性、接口、运算符重载和多重继承。 控制流程:学习使用上下文管理器、生成器、协程,以及通过concurrent.futures和asyncio包实现的并发。 元编程:理解特性、描述符、类装饰器和元类的工作原理。

book

计算机科学导论:跨学科方法

by 罗伯特 塞奇威克, 凯文 韦恩

本书面向初学者,以跨学科的方法介绍计算机科学的基本知识。全书包括两个部分,第一部分围绕学习编程的三个阶段进行组织,包括基本元素、函数和面向对象编程。第二部分则介绍计算机科学的高级主题,包括算法和数据结构、计算理论和计算机体系结构。本书内容丰富、循序渐进,适合作为高等院校本科生计算机科学入门的教材。

video

算法精讲视频课程:24篇系列讲座

by 罗伯特·塞奇威克, 凯文·韦恩(Kevin Wayne)

课程简介 这套算法视频讲座涵盖算法和数据结构的基本知识,重点是Java实现的应用以及采用科学方法的性能分析,这些知识是所有程序员都应当认真学习的。 描述 本视频全面讲解基本数据类型、算法和数据结构,重点是Java实现的应用以及采用科学方法的性能分析。本视频的配套书籍是《算法》(第4版)——目前算法领域的畅销教材之一。视频讲座的顺序与书中的章节顺序大致相同,但对部分章节进行了重组,从而从不同的视角帮助读者理解书中内容。 如果你还没有《算法》这本书,欢迎立刻下单,在获得纸质版的同时,可获得全部视频讲座的访问链接。 本书的教师网站还提供以下相关资源: ● 全部Java实现 ● 测试数据 ● 练习题及答案 ● 动态可视化演示 ● 教学PPT …

book

Perl语言入门(第8版)

by Randal L. Schwartz, brian d foy, Tom Phoenix

如果你刚刚开始使用 Perl,那么无论你是一名程序员、系统管理员还是网络黑客,这就是你需要的书。这本畅销书被整整两代用户叫做“小骆驼”书,诞生于作者自 1991 年以来教授的 Perl 入门课程。第8版涵盖了该语言直到 5.34 版的最新变化。 Perl 适用于几乎任何平台上的任何任务,从简短的修复问题到完整的 Web 应用程序。本书可以教给你基础知识,并向你展示如何编写简单的单文件程序——目前使用的 Perl 程序中大约有 90% 属于单文件程序。每章都包含练习,以帮助你练习刚刚学到的东西。其他书籍可能会教你用 …