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语言及其应用(第2版)

by Bill Lubanovic

本书通俗易懂,阅读起来饶有乐趣,十分适合想快速获得Python应用经验的新手。第2版带你从基础知识出发,逐步迈向更复杂、更多样化的主题,帮助你全面构建Python知识体系。书中将教程与代码示例相结合,清晰解释了Python 3的各种常用概念。每章配有练习和参考答案,帮助你学以致用。 你将通过本书打下坚实的Python基础,并牢固掌握测试、调试、代码重用等开发技巧。第2版加入了新的代码示例和练习,还向你展示了如何使用丰富的Python包在商业分析、数据库和机器学习等领域开发应用。 学习简单的数据类型、基础的数学运算和文本操作 将数据整理技术与内建数据结构结合使用 探索函数等Python代码结构 使用模块和包来编写大型Python程序 深入理解对象、类和其他面向对象特性 学习关系数据库和NoSQL等数据存储技术 构建Web客户端、服务器、API和服务 管理程序、进程和线程等系统任务 理解并发和网络编程的基础知识

book

Go程序设计语言

by 艾伦A. A.多诺万, 布莱恩W. 柯尼汉

本书由《C程序设计语言》的作者Kernighan和谷歌公司Go团队主管Alan Donovan联袂撰写,是学习Go语言程序设计的权威指南。本书共13章,主要内容包括:Go的基础知识、基本结构、基本数据类型、复合数据类型、函数、方法、接口、goroutine、通道、共享变量的并发性、包、go工具、测试、反射等。

book

可编程网络自动化

by Jason Edelman, Scott S. Lowe, Matt Oswalt

与系统管理员一样,网络工程师如今也发现无法再手动完成所有工作。随着网络行业迎来新协议、新技术、新交付模型,企业对敏捷性和灵活性的需求愈加迫切,网络自动化也随之变得至关重要。本书向网络工程师展示了如何使用包括Linux、Python、JSON和XML在内的一系列工具,通过代码实现网络自动化。 网络自动化的核心是简化与网络设备、网络拓扑、网络服务和网络连通性的配置、管理、操作相关的任务。通过学习本书,你将掌握完成这一关键转变所需的基本技能和工具。 本书包含以下内容。 Python基础知识:数据类型、条件逻辑、循环、函数、类、模块 网络自动化涉及的Linux基础知识 数据格式与数据模型:YAML、XML、JSON、YANG 网络配置模板,如Jinja模板 使用网络API实现网络自动化 在自动化过程中使用Git控制源代码 使用Ansible、Salt、StackStorm等自动化工具 关键的持续集成工具和技术

video

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

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

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