【实例简介】
【实例截图】
【核心代码】
目 录
前 言:..................................................................................................................................................................................................8
第一章 概 述 ...............................................................................................................................................................................................9
1.1 问题和解答 .....................................................................................................................................................................................9
1.1.1 本书适合你吗? ........................................................................................................................................................................................9
1.1.2 为什么如此多的脚注?.............................................................................................................................................................................9
1.1.3 练习题和解答呢? ..................................................................................................................................................................................10
1.1.4 习题前的数字是什么意思?................................................................................................................................................................... 10
1.1.5 如果我是 Perl 教师,怎么办呢? ..........................................................................................................................................................10
1.2 Perl 代表什么? ........................................................................................................................................................................ 11
1.2.1 Larry 为什么发明 Perl?.......................................................................................................................................................................11
1.2.2 为什么 Larry 不采用别的语言?............................................................................................................................................................ 11
1.2.3 Perl 容易学习吗?.................................................................................................................................................................................... 12
1.2.4 Perl 为什么如此流行?............................................................................................................................................................................13
1.2.5 Perl 正在发生怎样的事情?....................................................................................................................................................................13
1.2.6 Perl 擅长什么?........................................................................................................................................................................................ 13
1.2.7 Perl 不擅长什么?.................................................................................................................................................................................... 14
1.3 怎样获得 Perl? ..........................................................................................................................................................................14
1.3.1 什么 CPAN?........................................................................................................................................................................................... 14
1.3.2 怎样获得支持? ......................................................................................................................................................................................15
1.3.3 有其它的支持吗? ..................................................................................................................................................................................15
1.3.4 当发现 Perl 中有错误时,该怎么办? ..................................................................................................................................................16
1.4 怎样才能写一个 Perl 程序?......................................................................................................................................................16
1.4.1 一个简单的例子 ......................................................................................................................................................................................17
1.4.2 这个程序有些什么? .............................................................................................................................................................................. 18
1.4.3 怎样编译 Perl?........................................................................................................................................................................................ 19
1.5 快速了解 Perl ..............................................................................................................................................................................19
1.6 第六节 练习 .................................................................................................................................................................................20
第二章 标量数据.......................................................................................................................................................................................21
2.1 数字.............................................................................................................................................................................................. 21
2.1.1 所有数字内部的格式一致........................................................................................................................................................................21
2.1.2 浮点数 ...................................................................................................................................................................................................... 21
2.1.3 整数.......................................................................................................................................................................................................... 22
2.1.4 非十进制整数 ........................................................................................................................................................................................... 22
2.1.5 数字操作符............................................................................................................................................................................................... 23
2.2 字符串.......................................................................................................................................................................................... 23
2.2.1 单引号字符串 ........................................................................................................................................................................................... 24
2.2.2 双引号字符串 ........................................................................................................................................................................................... 24
2.3.3 字符串操作符 ........................................................................................................................................................................................... 25
2.2.4 数字和字符串之间的自动转换................................................................................................................................................................ 26
2.3 Perl 内嵌的警告(warnings).......................................................................................................................................................... 26
扫码可进资料分享群
Perl 语言入门(第四版)
blei@163.com 3 / 201 9/21/2006
2.4 标量变量......................................................................................................................................................................................27
2.4.1 选择好的变量名 .......................................................................................................................................................................................28
2.4.2 标量赋值................................................................................................................................................................................................... 28
2.4.3 二元赋值操作符 ......................................................................................................................................................................................29
2.5 print 输出 ......................................................................................................................................................................................29
2.5.1 字符串中标量变量的内插........................................................................................................................................................................30
2.5.2 操作符优先级和结合性............................................................................................................................................................................31
2.5.3 比较运算符............................................................................................................................................................................................... 32
2.6 if 控制结构....................................................................................................................................................................................33
2.6.Boolean 值....................................................................................................................................................................................................33
2.7 用户输入......................................................................................................................................................................................34
2.8 chomp 操作....................................................................................................................................................................................35
2.9 while 控制结构..............................................................................................................................................................................35
2.10 undef 值 .......................................................................................................................................................................................36
2.1.1 defined 函数............................................................................................................................................................................37
2.1.2 练习........................................................................................................................................................................................37
第三章 列表和数组...................................................................................................................................................................................38
3.1 访问数组元素 ..............................................................................................................................................................................39
3.2 特殊的数组索引 ..........................................................................................................................................................................39
3.3 列表 ...............................................................................................................................................................................................40
3.3.1 qw 简写 ....................................................................................................................................................................................................41
3.4 列表赋值......................................................................................................................................................................................42
3.4.1 pop 和 push 操作.......................................................................................................................................................................................43
3.4.2 shift 和 unshift 操作..................................................................................................................................................................................44
3.5 将数组插入字符串 ....................................................................................................................................................................... 44
3.6 foreach 控制结构 ..........................................................................................................................................................................45
3.6.1 Perl 最常用的默认变量:$_....................................................................................................................................................................46
3.6.2 reverse 操作............................................................................................................................................................................................... 46
3.6.3 sort 操作....................................................................................................................................................................................................47
3.7 标量和列表上下文 ....................................................................................................................................................................... 47
3.7.1 在标量 Context 中使用 List-Producing 表达式 .......................................................................................................................................48
3.7.2 在列表 Context 中使用 Scalar-Producing 表达式....................................................................................................................................50
3.7.3 强制转换为标量 Context ......................................................................................................................................................................... 50
3.8<STDIN>在列表 Context 中.......................................................................................................................................................... 50
3.9 练习.............................................................................................................................................................................................. 51
第四章 子程序...........................................................................................................................................................................................53
4.1 定义一个子程序 ..........................................................................................................................................................................53
4.2 调用子程序..................................................................................................................................................................................54
4.3 返回值.......................................................................................................................................................................................... 54
4.4 参数(Arguments) ..........................................................................................................................................................................56
4.5 子程序中的私有变量 ..................................................................................................................................................................57
4.6 参数列表的长度 ........................................................................................................................................................................... 57
4.6.1 更好的&max 程序 ...................................................................................................................................................................................58
4.6.2 空参数列表............................................................................................................................................................................................... 59
扫码可进资料分享群
Perl 语言入门(第四版)
blei@163.com 4 / 201 9/21/2006
4.7my 变量的注释...............................................................................................................................................................................59
4.8 使用 strict Pragma ........................................................................................................................................................................60
4.9 返回操作......................................................................................................................................................................................61
4.9.1 省略符号&............................................................................................................................................................................................... 62
4.10 非标量返回值 ............................................................................................................................................................................63
4.11 练习 .............................................................................................................................................................................................64
第五章 输入与输出...................................................................................................................................................................................65
5.1 从标准输入设备输入 ................................................................................................................................................................... 65
5.2 从<>输入......................................................................................................................................................................................66
5.3 调用参数 .......................................................................................................................................................................................68
5.4 输出到标准输出设备 ................................................................................................................................................................... 69
5.5 使用 printf 格式化输出................................................................................................................................................................. 71
5.5.1 数组和 printf .................................................................................................................................................................................................. 72
5.6 句柄 ...............................................................................................................................................................................................73
5.7 文件句柄的打开 ........................................................................................................................................................................... 74
5.7.1 Bad 文件句柄............................................................................................................................................................................................ 76
5.7.2 关闭文件句柄 ........................................................................................................................................................................................... 76
5.8 严重错误和 die ............................................................................................................................................................................77
5.8.1 警告信息和 warn ..................................................................................................................................................................................... 78
5.9 使用文件句柄 ...............................................................................................................................................................................78
5.9.1 改变默认的输出句柄 ...............................................................................................................................................................................79
5.10 重新打开文件句柄 ....................................................................................................................................................................79
5.11 练习 ............................................................................................................................................................................................ 80
第六章 哈 希............................................................................................................................................................................................ 81
6.1 什么是哈希? ...............................................................................................................................................................................81
6.1.1 为什么使用 Hash? ...................................................................................................................................................................................82
6.2 哈希元素的存取 ........................................................................................................................................................................... 84
6.2.1 作为整体的 hash .......................................................................................................................................................................................85
6.2.2 Hash 赋值.................................................................................................................................................................................................86
6.2.3 大箭头符号(=>)..................................................................................................................................................................................87
6.3 哈希函数 .......................................................................................................................................................................................87
6.3.1 keys 和 values 函数...................................................................................................................................................................................87
6.3.2 each 函数................................................................................................................................................................................................... 88
6.4 哈希的通常用法 ........................................................................................................................................................................... 89
6.4.1 exists 函数.................................................................................................................................................................................................90
6.4.2 delete 函数.................................................................................................................................................................................................90
6.4.3 hash 元素的内插.......................................................................................................................................................................................90
6.5 练习 ...............................................................................................................................................................................................91
第七章 正则表达式...................................................................................................................................................................................92
7.1 什么是正则表达式? ................................................................................................................................................................... 92
7.2 使用简单的模式 ........................................................................................................................................................................... 93
7.2.1 元字符 ...................................................................................................................................................................................................... 93
7.2.2 简单的量词 ..............................................................................................................................................................................................94
7.2.3 模式中的分组 ........................................................................................................................................................................................... 94
扫码可进资料分享群
Perl 语言入门(第四版)
blei@163.com 5 / 201 9/21/2006
7.2.4 选择符 ...................................................................................................................................................................................................... 94
7.3 字符类 ...........................................................................................................................................................................................95
7.3.1 字符类的简写 ........................................................................................................................................................................................... 95
7.3.2 简写形式的补集 ......................................................................................................................................................................................96
7.4 练习 ...............................................................................................................................................................................................96
第八章 正则表达式的应用....................................................................................................................................................................... 98
8.1 使用 m//匹配................................................................................................................................................................................98
8.2 可选的修饰符 ...............................................................................................................................................................................98
8.2.1 不区分大小写:/i..................................................................................................................................................................................... 98
8.2.2 匹配任何字符:/s..................................................................................................................................................................................... 99
8.2.3 添加空格:/x............................................................................................................................................................................................ 99
8.2.4 将可选字符结合起来 ............................................................................................................................................................................100
8.2.5 其它选项.................................................................................................................................................................................................100
8.3 锚定 .............................................................................................................................................................................................100
8.3.1 词锚定 ....................................................................................................................................................................................................101
8.4 绑定操作符,=~ ........................................................................................................................................................................101
8.5 模式内的内插 ............................................................................................................................................................................102
8.6 匹配变量....................................................................................................................................................................................103
8.6.1 内存值的保存 ........................................................................................................................................................................................104
8.6.2 自动匹配变量.........................................................................................................................................................................................105
8.7 一般的数量词 ............................................................................................................................................................................. 106
8.8 优先级 .........................................................................................................................................................................................106
8.8.1 优先级练习.............................................................................................................................................................................................107
8.8.2 更多.........................................................................................................................................................................................................107
8.9 模式测试程序 ............................................................................................................................................................................107
8.10 练习 ...........................................................................................................................................................................................108
第九章 使用正则表达式处理文件.........................................................................................................................................................109
9.1 使用 s///进行替换 ....................................................................................................................................................................... 109
9.1.1 使用/g 进行全局替换 ............................................................................................................................................................................. 110
9.1.2 不同的分隔符 ......................................................................................................................................................................................... 110
9.1.3 可选的修饰符 ........................................................................................................................................................................................ 111
9.1.4 绑定操作 ................................................................................................................................................................................................ 111
9.1.5 大小写转换............................................................................................................................................................................................. 111
9.2split 操作 ...................................................................................................................................................................................... 112
9.3join 函数....................................................................................................................................................................................... 113
9.4 列表上下文中的 m// .................................................................................................................................................................. 114
9.5 更强大的正则表达式 ................................................................................................................................................................. 114
9.5.1 非贪婪的数量词 ..................................................................................................................................................................................... 115
9.5.2 匹配多行文本 ........................................................................................................................................................................................ 116
9.5.3 更新大量文件 ......................................................................................................................................................................................... 117
9.5.4 在命令行中进行修改 ............................................................................................................................................................................ 119
9.5.5 非捕捉用的括号 ....................................................................................................................................................................................120
9.6 练习 .............................................................................................................................................................................................121
第十章 更多控制结构............................................................................................................................................................................. 122
扫码可进资料分享群
Perl 语言入门(第四版)
blei@163.com 6 / 201 9/21/2006
10.1unless 控制结构 ......................................................................................................................................................................... 122
10.1.1unless 和 else 语句一起使用 .................................................................................................................................................................122
10.2until控制结构 ............................................................................................................................................................................123
10.3 表达式修饰符 ........................................................................................................................................................................... 123
10.4The Naked Block 控制结构 ........................................................................................................................................................ 125
10.5 elsif 语句....................................................................................................................................................................................126
10.6 自增和自减 ...............................................................................................................................................................................126
10.6.1自动增量的值 .......................................................................................................................................................................................127
10.7for 控制结构...............................................................................................................................................................................128
10.7.1foreach 和 for 的关系.............................................................................................................................................................................130
10.8 循环控制 ...................................................................................................................................................................................130
10.8.1 last 操作.................................................................................................................................................................................................131
10.8.2 next 操作 ...............................................................................................................................................................................................131
10.8.3 redo 操作...............................................................................................................................................................................................132
10.8.4标签块 ...................................................................................................................................................................................................133
10.9 逻辑操作符 ...............................................................................................................................................................................134
10.9.1短路操作的值 .......................................................................................................................................................................................135
10.9.2三元操作符 ?: ......................................................................................................................................................................................135
10.9.3控制结构:使用部分求值的操作符....................................................................................................................................................136
10.10 练习 .........................................................................................................................................................................................138
第十一章 文件检验.................................................................................................................................................................................139
11.1 文件检测操作............................................................................................................................................................................139
11.2 stat 和 lstat 函数 ........................................................................................................................................................................142
11.3 localtime 函数............................................................................................................................................................................143
11.4 位操作........................................................................................................................................................................................ 144
11.4.1 使用位串 ...............................................................................................................................................................................................145
11.5 使用特殊的下划线文件句柄....................................................................................................................................................145
11.6 练习 ...........................................................................................................................................................................................146
第十二章 目录操作.................................................................................................................................................................................147
12.1 在目录树上移动 ....................................................................................................................................................................... 147
12.2 Globbing....................................................................................................................................................................................147
12.3 Globbing 的替换语法 ...............................................................................................................................................................148
12.4 目录句柄 ...................................................................................................................................................................................149
12.5 递归的目录列表 ....................................................................................................................................................................... 151
12.6 操作文件和目录 ....................................................................................................................................................................... 151
12.7 删除文件 ...................................................................................................................................................................................151
12.8 重命名文件 ...............................................................................................................................................................................152
12.9 连接和文件 ...............................................................................................................................................................................153
12.10 创建和删除目录 ..................................................................................................................................................................... 157
12.11 修改权限..................................................................................................................................................................................159
12.12 改变所有者 ............................................................................................................................................................................. 159
12.13 改变时间戳 ............................................................................................................................................................................. 159
12.14 练习 .........................................................................................................................................................................................160
第十三章 字符串和排序......................................................................................................................................................................... 161
扫码可进资料分享群
Perl 语言入门(第四版)
blei@163.com 7 / 201 9/21/2006
13.1 使用索引寻找子串 ................................................................................................................................................................... 161
13.2 使用 substr操作子串................................................................................................................................................................ 162
13.3 使用 sprintf 格式化数据...........................................................................................................................................................163
13.3.1在“货币数字”中使用 sprintf............................................................................................................................................................164
13.4 高级排序 ...................................................................................................................................................................................165
13.4.1依据值对 Hash 进行排序 .....................................................................................................................................................................168
13.4.2对多个 keys 排序 ..................................................................................................................................................................................168
13.5 练习 ...........................................................................................................................................................................................169
第十四章 进程管理.................................................................................................................................................................................171
14.1 系统函数 ...................................................................................................................................................................................171
14.1.1避免 Shell..............................................................................................................................................................................................172
14.2exec 函数....................................................................................................................................................................................174
14.3 环境变量 ...................................................................................................................................................................................174
14.4 使用反引号捕捉输出 ...............................................................................................................................................................175
14.4.1在 List context 中使用反引号...............................................................................................................................................................177
14.5 像文件句柄那样处理 ...............................................................................................................................................................178
14.6 使用 fork....................................................................................................................................................................................179
14.7 发送和接收信号 ....................................................................................................................................................................... 180
14.8 练习 ...........................................................................................................................................................................................182
第十五章 PERL 模块................................................................................................................................................................................183
15.1 查找模块 ...................................................................................................................................................................................183
15.2 安装模块 ...................................................................................................................................................................................183
15.3 使用简单的模块 ....................................................................................................................................................................... 184
15.3.1. File::Basename 模块.........................................................................................................................................................................185
15.3.2.仅使用模块中的一些函数.................................................................................................................................................................186
15.3.3.File::Spec 模块...................................................................................................................................................................................187
15.3.4.CGI.pm ...............................................................................................................................................................................................188
15.3.5.数据库和 DBI .......................................................................................................................................................................................189
15.4 练习 ...........................................................................................................................................................................................190
第十六章 一些高级的 PERL 技术...........................................................................................................................................................191
16.1 利用 eval 捕获错误................................................................................................................................................................... 191
16.2 使用 grep 在列表得到元素 ......................................................................................................................................................193
16.3 使用 map 对列表项进行变换...................................................................................................................................................194
16.4 不用双引号的 hash keys...........................................................................................................................................................195
16.5Slices...........................................................................................................................................................................................195
16.5.1 Array Slice.............................................................................................................................................................................................197
16.5.2Hash Slice...............................................................................................................................................................................................198
16.6 练习 ...........................................................................................................................................................................................200
练习题答案 ............................................................
下载声明:
1、本站所有资源、仅供学习交流,不得商业运营资源,不确保资源完整性,图片和资源仅供参考, 不提供任何技术服务。
2、本站资源均有第三方用户自行上传分享推荐,非本站自制,仅供玩家做交流学习之用!切勿用于商业用途!游戏作品版权
归原作者享有,如有版权问题,请附带版权证明至邮件,本平台将应您的要求删除。举报邮箱 :859840003@qq.com
评论