simon2068 2008-4-15 10:56
Perl语言入门(第四版).pdf
中文pdf版电子书下载 对初学Perl语言的朋友很有帮助 希望《Perl语言入门(第四版) 》对大家有所帮助
yuningzhang 2008-4-19 15:40
终于等到了,非常感谢:P
CMStruggling 2008-4-29 19:32
非常不错,
最近也挺想学学这个的,一直挺忙的,没有多少时间!
有时间真得好好学习下了!
感谢楼主分享!!
::em71::
chengc 2008-5-4 10:02
需要学习一下
原来的CQ库都是别人配置的,现在那位前辈离职了,CQ出现了问题,不会看也不会改脚本呐!
确实需要恶补一下Perl和Basic,多谢贡献呐!
Jessie 2008-5-5 18:20
东东太好了,很有用。非常感谢。
谢谢搂主,东西太好了,对于刚学习perl 的人很受益。若没有楼主提供这样好的资料,还真不知道从何学起呢。我之前从事测试及配置管理,如今主要精力在配置管理。为了实现autobuild ,需要学习perl ,将来编写脚本。正在着急时,看到了楼主的资料。太谢谢了。:)
xuyanli 2008-5-13 15:55
现在不专职做配置管理了,但是还想多学写配置管理的东西,以后可以转配置管理,呵呵,听说先有开发经验再转配置管理,比较容易。谢谢楼主的好书 了,一定多多学习,楼上的都说入门很好,就开始入门了
lovely 2008-5-16 14:12
Thanks!
谢谢楼主!找了好几天了,关于perl的资料,十分感谢!
nana001 2008-6-4 12:59
[*][url=http://www.51cnnet.net/ebook/173-perl-hacks]Perl Hacks ebook free download[/url]
[*][url=http://www.51cnnet.net/ebook/683-intermediate-perl]Intermediate Perl ebook free download[/url]
[*][url=http://www.51cnnet.net/ebook/742-perl-and-xml]Perl and XML ebook free download[/url]
[*][url=http://www.51cnnet.net/ebook/1432-perl-debugged]Perl Debugged ebook free download[/url]
[*][url=http://www.51cnnet.net/ebook/1581-mastering-perl]Mastering Perl ebook free download[/url]
[*][url=http://www.51cnnet.net/ebook/116-perl-to-python-migration]Perl To Python Migration ebook free download[/url]
[*][url=http://www.51cnnet.net/ebook/141-perl-6-essentials]Perl 6 Essentials ebook free download[/url]
[*][url=http://www.51cnnet.net/ebook/559-programming-the-network-with-perl]Programming the Network with Perl ebook free download[/url]
[*][url=http://www.51cnnet.net/ebook/585-pro-perl-parsing]Pro Perl Parsing ebook free download[/url]
[*][url=http://www.51cnnet.net/ebook/715-mastering-perl-for-bioinformatics]Mastering Perl for Bioinformatics ebook free download[/url]
[*][url=http://www.51cnnet.net/ebook/763-perl-for-system-administration]Perl for System Administration ebook free download[/url]
[*][url=http://www.51cnnet.net/ebook/800-programming-the-perl-dbi]Programming the Perl DBI ebook free download[/url]
[*][url=http://www.51cnnet.net/ebook/1282-beginning-perl-for-bioinformatics]Beginning Perl for Bioinformatics ebook free download[/url]
[*][url=http://www.51cnnet.net/ebook/1319-perl-database-programming]Perl Database Programming ebook free download[/url]
[*][url=http://www.51cnnet.net/ebook/1368-perl-template-toolkit]Perl Template Toolkit ebook free download[/url]
[*][url=http://www.51cnnet.net/ebook/1394-perl-for-oracle-dbas]Perl for Oracle DBAs ebook free download[/url]
[*][url=http://www.51cnnet.net/ebook/184-learning-perl-4th-edition]Learning Perl, 4th Edition ebook free download[/url]
[*][url=http://www.51cnnet.net/ebook/523-perl-cookbook-2nd-edition]Perl Cookbook, 2nd Edition ebook free download[/url]
[*][url=http://www.51cnnet.net/ebook/745-programming-web-services-with-perl]Programming Web Services with Perl ebook free download[/url]
[*][url=http://www.51cnnet.net/ebook/1361-perl-testing-a-developer-s-notebook]Perl Testing: A Developer's Notebook ebook free download[/url]
[*][url=http://www.51cnnet.net/ebook/1366-learning-perl-3rd-edition]Learning Perl, 3rd Edition ebook free download[/url]
[*][url=http://www.51cnnet.net/ebook/200-advanced-perl-programming-2nd-edition]Advanced Perl Programming, 2nd Edition ebook free download[/url]
[*][url=http://www.51cnnet.net/ebook/669-perl-6-and-parrot-essentials-2nd-edition]Perl 6 and Parrot Essentials, 2nd Edition ebook free download[/url]
[*][url=http://www.51cnnet.net/ebook/889-writing-apache-modules-with-perl-and-c]Writing Apache Modules with Perl and C ebook free download[/url]
[*][url=http://www.51cnnet.net/ebook/1013-beginning-perl-web-development-from-novice-to-professional]Beginning Perl Web Development: From Novice to Professional ebook free download[/url]
[*][url=http://www.51cnnet.net/ebook/1264-minimal-perl-for-unix-and-linux-people]Minimal Perl For UNIX and Linux People ebook free download[/url]
[*][url=http://www.51cnnet.net/ebook/1423-learning-perl-objects-references-and-modules]Learning Perl Objects, References and Modules ebook free download[/url]
CMStruggling 2008-11-29 16:33
[size=5][color=Red]目录[/color][/size]
前言: .................................................................................................................................................................................................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 语言入门(第四版)
[email]blei@163.com[/email] 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 语言入门(第四版)
[email]blei@163.com[/email] 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 语言入门(第四版)
[email]blei@163.com[/email] 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 语言入门(第四版)
[email]blei@163.com[/email] 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 语言入门(第四版)
[email]blei@163.com[/email] 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
练习题答案............................................................................................................................................................................................. 201