查找
第零章 Perl 前言
1. 追求幸福
2. 这个版本有什么新东西
3. 标准的发布版
4. 在线文档
5. 阅读标准手册页
6. 搜索手册页
7. 非 Perl 手册页
8. 离线文档
9. 其它资源
9.1 Web 上的 Perl
9.2 Usenet 新闻组
10. 臭虫报告
11. 这本书里用的习惯
12. 感谢
第一章 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.7.4 反引用
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.7.6 数组长度
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 元字符和元符号
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.0 格式变量
7.2.0 页脚
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.7提前编译,回头解释
第十九章,命令行接口
19.1 命令行处理
19.1.1 在非 Unix 系统上的 #! 和引号
19.1.2 Perl 的位置
19.1.3 开关
19.2 环境变量
第二十章 Perl 调试器
20.1 使用调试器
20.2 调试器命令
20.2.1 部件和运行
20.2.2. 断点
20.2.3 跟踪
20.2.4 显示
20.2.5 定位代码
20.2.6 动作和命令执行
20.2.7 杂项命令
20.3 客户化调试器
20.3.1 调试器的编辑器支持
20.3.2 用 init 文件进行客户化
20.3.3 调试器选项
20.4 不被注意的执行
调试器支持
20.5.1 书写你自己的调试器
20.6 Perl 调节器
第二十一章 内部和外部
第二十二章 CPAN
第二十三章 安全
23.1 处理不安全数据
23.1.1 侦测和消毒感染了的数据
23.1.2. 清理你的环境
23.1.3 在受限制的权限下访问命令和文件
23.2. 处理计时缝隙
23.2.1. Unix 内核安全臭虫
23.2.2处理冲突条件
23.2.3. 临时文件
23.3 处理不安全的代码
23.3.1.安全隔仓
23.3.1.1. 限制名字空间访问
23.3.1.2. 限制对操作符的访问
23.3.1.3 安全例子
23.3.2 伪装成数据的代码
第二十四章,普通实践
24.1. 新手常见错误
24.1.1. 全局失误
24.1.2. 常被遗忘的建议
24.1.3. C 陷阱
24.1.4. shell 陷阱
24.1.5. 从前版本的 Perl 陷阱
24.2 效率
24.3 时间效率
24.2.2. 空间效率
24.2.3 程序员效率
24.2.4 维护人员效率
24.2.5. 移植人员效率
24.2.6. 用户效率
24.3有风格地编程
24.4. 用 => 代替逗号,只要你认为这样可以改善可读性:
24.5. 生成程序
24.5.2 在其他语言里生成 Perl
24.5.3. 源程序过滤器
第二十五章,可移植的 Perl
25.1. 换行
25.2. 权重(字节序)和数字宽度
25.3. 文件和文件系统
25.6. 外部子过程(XS)
25.7 标准模块
25.8. 日期和时间
25.9 国际化
25.10. 风格
第二十六章,简单旧文档
26.1 pod in a NutShell
26.1.1. 字面段落
26.1.2. pod 指示符
26.1.3 Pod 序列
! /usr/bin/perl -l00n
olpod - outline pod
! /usr/bin/perl -00
catpod - cat out just the pods
! /usr/bin/perl -n00
podlit - print the indented literal blocks from pod input
! /usr/bin/perl
catpod2, class and program
第二十七章,Perl 文化
27.1.时势造英雄
27.2 Perl 诗歌
第二十八章 特殊名字
第二十九章,函数 (A-D)
29.1 按类分的 Perl 函数
29.2 按照字母顺序排列的 Perl 函数
第二十九章,函数 (E-N)
29.2 按照字母顺序排列的 Perl 函数
29.2.30 each
29.2.31 eof
29.2.32 eval
29.2.33 exec
29.2.35 exists
29.2.35 exit
29.2.36 exp
29.2.37. fcntl
29.2.38 fileno
29.2.39 flock
29.2.40 fork
29.2.41 format
29.2.42 formline
29.2.43 getc
29.2.44 getgrent
29.2.45 getgrgid
29.2.46 getgrnam
29.2.47 gethostbyaddr
29.2.48 gethostbyname
29.2.49 gethostent
29.2.50. getlogin
29.2.51 getnetbyaddr
29.2.52 getnetbyname
29.2.53. getnetent
29.2.54. getpeername
29.2.55. getpgrp
29.2.56 getppid
29.2.57. getpriority
29.2.58 getprotobyname
29.2.59 getprotobynumber
29.2.60 getprotoent
29.2.61 getpwent
29.2.62 getpwnam
29.2.63. getpwuid
29.2.64. getservbyname
29.2.65. getservbyport
29.2.66. getservent
29.2.67. getsockname
29.2.68. getsockopt
29.2.69 glob
29.2.70. gmtime
29.2.71. goto
29.2.72. grep
29.2.73. hex
29.2.74 import
29.2.75. index
29.2.76. int
29.2.77. ioctl
29.2.78. join
29.2.79 keys
29.2.80. kill
29.2.81. last
29.2.82. lc
29.2.83 lcfirst
29.2.84. length
29.2.85. link
29.2.86. listen
29.2.87. local
29.2.88. localtime
29.2.89 lock
29.2.90. log
29.2.91. lstat
29.2.92. m//
29.2.93. map
29.2.94. mkdir
29.2.95. msgctl
29.2.96. msgget
29.2.97. msgrcv
29.2.98. msgsnd
29.2.99. my
29.2.100. new
29.2.101. next
29.2.102. no
第二十九章,函数 (O-Y)
29.2 按照字母顺序排列的 Perl 函数
29.2.103. oct
29.2.103 open
29.2.105 opendir
29.2.106 ord
29.2.107 our
29.2.108. pack
29.2.109. package
29.2.110 pipe
29.2.111. pop
29.2.112 pos
29.2.113 print
29.2.114 printf
29.2.115. prototype
29.2.116 push
29.2.117. q/STRING/
29.2.118. quotemeta
29.2.119 rand
29.2.120 read
29.2.121. readdir
29.2.122 readline
29.2.123 readlink
29.2.124. readpipe
29.2.125 recv
29.2.126 redo
29.2.127 ref
29.2.128 rename
29.2.129 require
29.2.130 reset
29.2.131. return
29.2.132 reverse
29.2.133. rewinddir
29.2.134. rindex
29.2.135. rmdir
第二十九章,函数 (S-Y)
29.2 按照字母顺序排列的 Perl 函数.
29.2.136 s///
29.2.137. scalar
29.2.138 seek
29.2.139 seekdir
29.2.140 select (输出文件句柄)
29.2.141 select (准备文件描述符)
29.2.142 semctl
29.2.143 semget
29.2.144 semop
29.2.145 send
29.2.146. setpgrp
29.2.147. setpriority
29.2.148. setsockopt
29.2.149 shift
29.2.150 shmctl
29.2.151 shmget
29.2.152 shmread
29.2.153 shmwrite
29.2.154 shutdown
29.2.155. sin
29.2.156 sleep
29.2.157 socket
29.2.158 socketpair
29.2.159 sort
29.2.160 splice
29.2.161 spit
29.2.162. sprintf
29.2.163 sqrt
29.2.164. srand
29.2.165. stat
29.2.166. study
29.2.167 sub
29.2.168. substr
29.2.169. symlink
29.2.170 syscall
29.2.171 sysopen
29.2.172 sysread
29.2.173 sysseek
29.2.174 system
29.2.175 syswrite
29.2.176 tell
29.2.177. telldir
29.2.177. tie
29.2.179 tied
29.2.180. time
29.2.181 times
29.2.182 tr///
29.2.182 truncate
29.2.183 uc
29.2.184 ucfirst
29.2.186 umask
29.2.186 undef
29.2.188. unlink
29.2.189. unpack
29.2.190. unshift
29.2.190. untie
29.2.190. use
29.2.193 utime
29.2.194. values
29.2.195 vec
29.2.196. wait
29.2.197. waitpid
29.2.198. wantarray
29.2.199 warn
29.2.200. write
29.2.201 y//