Perl 语言编程 PDF 文档
我们认为 Perl 是一种容易学习和使用的语言,而且我们希望能证明我们是对的。Perl 比较简单的一个方面是你用不着在说想说的东西之前先说很多其他东西。在很多其他编程语言里,你必须首先定义类型,变量,以及你需要用到的子过程,然后才能开始写你要执行的第一行程序。虽然对于那些需要复杂数据结构的复杂问题而言,声明变量是一个好主意,但是对于很多简单的日常问题,你肯定喜欢这样的一种编程语言。
关于 Perl 的容易使用还有很多其他理由,但是不可能全在这里列出来,因为这是这本书余下部分说要讨论的内容。语言的细节是很难理解的,但是 Perl 试图能把你从这些细节中解放出来。在每一个层次,Perl 都能够帮助你以最小的忙乱获得最大的享受和进步,这就是为什么这么多 Perl 程序员能够如此悠闲的原因吧。
第一章 Perl 概述
1.1 从头开始
1.2 自然语言与人工语言
1.2.1 变量语法
1.2.2 单数变量
1.2.3 复数变量
1.2.4 复杂数据结构
1.2.5 简单数据结构
1.2.6 动词
1.3 一个平均值例子
1.3.1 如何运行
1.4 文件句柄
1.5 操作符
1.5.1 双目算术操作符
1.5.2 字符串操作符
1.5.3 赋值操作符
1.5.4 单目算术操作符
1.5.5 逻辑操作符
1.5.6 比较操作符
1.5.7 文件测试操作符
1.6 流程控制
1.6.1 什么是真
1.6.2 If 和 unless 语句
1.6.3 循环
1.6.3.1 while 和 until 语句
1.6.3.2 for 语句
1.6.3.3 foreach 语句
1.6.3.4 跳出控制结构: next 和 last
1.7 正则表达式
1.7.1 量词
1.7.2 最小匹配
1.7.3 把钉子敲牢
1.8 列表处理
1.9 你不知道但不伤害你的东西(很多)
第二章 集腋成裘
2.1 原子
2.2 分子
2.3 内置的数据类型
2.4 变量
2.5 名字
2.5.1 名字查找
2.6 标量值
2.6.1 数字文本
2.6.2 字串文本
2.6.3 选择自己的引号
2.6.4 要么就完全不管引起
2.6.5 代换数组数值
2.6.6“此处”文档
2.6.7 V-字串文本
2.6.8 其他文本记号
2.7 环境
2.7.1 标量和列表环境
2.7.2 布尔环境
2.7.3 空(void)环境
2.7.4 代换环境
2.8 列表值和数组
2.8.1 列表赋值
2.8.2 数组长度
2.9 散列
2.10 型团(typeglob)和文件句柄
2.11 输入操作符
2.11.1 命令输入(反勾号)操作符
2.11.2 行输入(尖角)操作符
2.11.3 文件名聚集操作符
第三章 单目和双目操作符
3.1 项和列表操作符(左向)
3.2 箭头操作符
3.3 自增和自减操作符
3.4 指数运算
3.5 表意单目操作符
3.6 绑定操作符
3.7 乘号操作符
3.8 附加操作符
3.9 移位操作符
3.10 命名单目操作符和文件测试操作符
3.11 关系操作符
3.12 相等操作符
3.13 位操作符
3.14 C 风格的逻辑(短路)操作符
3.15 范围操作符
3.16 条件操作符
3.16 赋值操作符
3.18 逗号操作符
3.19 列表操作符(右向)
3.20 逻辑与,或,非和异或
3.21 Perl 里没有的 C 操作符
第四章 语句和声明
4.1 简单语句
4.2 混合语句
4.2.1 if 和 else 语句
4.3 循环语句
4.3.1 while 和 until 语句
4.3.2 for 循环
4.3.3 foreach 循环
4.3.4 循环控制
4.4 光块
4.4.1 分支(case)结构
4.5 goto
4.6 全局声明
4.7 范围声明
4.7.1 范围变量声明
4.7.2 词法范围的变量:my
4.7.3 词法范围全局声明:our
4.7.4 动态范围变量:local
4.8 用法(pragmas)
4.8.1 控制警告
4.8.2 控制全局变量的使用
第五章 模式匹配
5.1 正则表达式箴言
5.2 模式匹配操作符
5.2.1 模式修饰词
5.2.2 m// 操作符(匹配)
5.2.3 s/// 操作符(替换)
5.2.3.1 顺便修改一下字串
5.2.3.2 当全局替换不够“全局”地时候
5.2.4 tr/// 操作符(转换)
5.3.1 元字符表
5.3.2 特定的字符
5.3.3 通配元符号
5.4 字符表
5.4.1 客户化字符表
5.4.2 典型 Perl 字符表缩写
5.4.3 Unicode 属性
5.4.3.1 Perl 的 Unicode 属性
5.4.3.2 标准的 Unicode 属性
第六章 子过程
1.0 语法
2.0 语意
2.1 参数列表的技巧
2.2 错误指示
2.3 范围问题
3.0 传入引用
4.0 函数原型
4.1 内联常量函数
4.2 谨慎使用函数原型
5.0 子过程属性
5.1 Locked 和 method 属性
5.3 左值属性
第七章 格式
7.1 格式变量
7.2 页脚
7.2.1 访问格式的内部
第八章 引用
8.1 什么是引用?
8.2 创建引用
8.2.1 反斜杠操作符
8.2.2 匿名数据
8.2.2.1 匿名数组组合器
8.2.2.2 匿名散列组合器
8.2.2.3 匿名子过程组合器
8.2.3 对象构造器
8.2.4 句柄引用
8.2.5 符号表引用
8.2.6 引用的隐含创建
8.3 使用硬引用
8.3.1 把一个变量当作变量名使用
8.3.2 把一个 BLOCK 块当作变量名用
8.3.3 使用箭头操作符
8.3.4 使用对象方法
8.3.5 伪散列
8.3.6 硬引用可以用的其他技巧
8.3.7 闭合(闭包)
8.3.7.1 用闭合做函数模板
8.3.7.2 嵌套的子过程
8.4 符号引用
8.5 花括弧,方括弧和引号
8.5.1 引用不能当作散列键字用
8.5.2 垃圾收集,循环引用和弱引用
第九章 数据结构
9.1 数组的数组
9.1.1 创建和访问一个两维数组
9.1.2 自行生长
9.1.3 访问和打印
9.1.4 片段
9.1.5 常见错误
9.2 数组的散列
9.2.1 数组的散列的组成
9.2.2 生成数组的散列
9.2.3 访问和打印数组的散列
9.3 散列的数组
9.3.1 组成一个散列的数组
9.3.2 生成散列的数组
9.3.3 访问和打印散列的数组
9.4 散列的散列
9.4.1 构成一个散列的散列
9.4.2 生成散列的散列
9.4.3 访问和打印散列的散列
9.5 函数的散列
9.6 更灵活的记录
9.6.1 更灵活的记录的组合,访问和打印
9.6.2 甚至更灵活的记录的组合,访问和打印
9.6.3 复杂记录散列的生成
9.7 保存数据结构
第十章 包
10.1 符号表
10.2 自动装载
第十一章 模块
11.1 使用模块
11.2 创建模块
11.2.1 模块私有和输出器
11.2.1.1 不用 Exporter 的输入方法进行输出
11.2.1.2 版本检查
11.2.1.3 管理未知符号
11.2.1.4 标签绑定工具函数
11.3 覆盖内建的函数
第十二章 对象(上)
12.1 简单复习一下面向对象的语言
12.2 Perl 的对象系统
12.3 方法调用
12.3.1 使用箭头操作符的方法调用
12.3.2 使用间接对象的方法调用
12.3.3 间接对象的句法障碍
12.3.4 引用包的类
12.4 构造对象
12.4.1 可继承构造器
12.4.2 初始器
12.5 类继承
第十二章 对象(下)
12.5.1 通过 @ISA 继承
12.5.2 访问被覆盖的方法
12.5.3 UNIVERSAL:最终的祖先类
12.5.4 方法自动装载
12.5.5 私有方法
12.6 实例析构器
12.6.1 用 DESTROY 方法进行垃圾收集
12.7 管理实例数据
12.7.1 用 use fields 定义的域
12.7.2 用 Class::Struct 生成类
12.7.3 使用 Autoloading(自动装载)生成指示器
12.7.4 用闭合域生成指示器
12.7.5 将闭合域用于私有对象
12.7.6 新技巧
12.8 管理类数据
12.9 总结
第十三章 重载
13.1 overload 用法
13.3 可重载操作符
13.4 拷贝构造器(=)
13.5 当缺失重载句柄的时候(nomethod 和 fallback)
13.6 重载常量
13.7 公共重载函数
13.8 继承和重载
13.9 运行时重载
13.10 重载诊断
第十三章 捆绑(tie)变量上
14.1 捆绑标量
14.1.1 标量捆绑方法
14.1.2 魔术计数变量
14.1.3 神奇地消除 $_
14.2 捆绑数组
14.2.1 数组捆绑方法
14.2.2 大家方便
第十四章 捆绑(tie)变量下
14.3 捆绑散列
14.3.1 散列捆绑方法
14.4 捆绑文件句柄
14.4.1 文件句柄捆绑方法
14.4.2 创建文件句柄
14.5 一个精细的松绑陷阱
14.6 CPAN 里的模块
第十五章 UNICODE
15.1 制作字符
15.2 字符语意的效果
第十六章,进程间通讯
16.1 信号
16.1.1 给进程组发信号
16.1.2 收割僵死进程
16.1.3 给慢速操作调速
16.1.4 阻塞信号
16.2 文件
16.2.1 文件锁定
16.2.2 传递文件句柄
16.3 管道
16.3.1 匿名管道
16.3.2 自言自语
16.3.3 双向通讯
16.3.4 命名管道
16.4. System V IPC
16.5. 套接字
16.5.1 网络客户端程序
16.5.2 网络服务器
16.5.3 消息传递
第十七章 线程
17.1 进程模型
17.2 线程模型
17.2.1 线程模块
17.2.1.1 创建线程
17.2.1.2 线程删除
17.2.1.3 捕获来自 join 的例外
17.2.1.4 detach 方法
17.2.1.5 标识线程
17.2.1.6 列出当前线程
17.2.1.7 交出处理器
17.2.2 数据访问
17.2.2.1 用 lock 进行访问同步
17.2.2.2 死锁
17.2.2.3 锁定子过程
17.2.2.4 locked 属性
17.2.2.5. 锁定方法
17.2.2.6 条件变量
17.2.3 其他线程模块
17.2.3.1 队列(queue)
17.2.3.2. 信号灯
17.2.3.3 其他标准线程模块
第十八章 编译
18.1. Perl 程序的生命周期
18.2 编译你的代码
18.3 执行你的代码
18.4 编译器后端
18.5 代码生成器
18.5.1 字节码生成器
18.5.2. C 代码生成器
18.6 提前编译,回头解释
第十九章 命令行接口
19.1 命令行处理
下载地址: https://www.wenjiangs.com/wp-content/uploads/2023/08/Perl.zip
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论