Perl语言入门(第三版)
Perl语言入门(第三版)
Randal L. Schwartz, Tom Phoenix
李晓峰 译
出版时间:2002年08月
页数:384
如果你问今天的Perl程序员,他们在学习Perl时最依赖的书是哪一本,那么你会发现绝大多数人会说是本书 —— 它也被亲切地称为“小骆驼”书。本书第一版于1993年问世,并从此成为畅销书。本书由Perl社区最著名、最活跃的两位成员写成,是Perl程序设计语言的精髓指南。
Perl最初只是Unix系统管理员的一个工具,在工作日里被用在无数的小任务中。从那以后,它逐步发展成为一种全功能的程序设计语言,特别是在各种计算平台上,它被用作Web编程、数据库处理、XML处理以及系统管理 —— 它能够完成所有这些工作,同时仍然是处理小的日常工作的完美工具,这是它的设计初衷。Perl快速、有趣,而且特别有用。很多人因为需要Perl而使用它,又因为热爱它而继续使用它。
本书第三版不但根据Perl 5.6进行了更新,而且还全部重写以满足当今学习Perl的程序员的需要。作者作为咨询专家,凭借讲授Perl课程的多年成功经验,重新设计了本书的叙述节奏和范围,以更好地照顾到那些刚开始学习Perl的读者的需要,同时仍保留了细节讨论、详尽的例子以及折衷策略的介绍,本书正是因此而闻名的。
本版对于正则表达式的介绍节奏更缓慢,并加入了一些扩展内容,还设计了新的习题和答案,这样在读者对正则表达式还很生疏时就可以练习他们刚刚所学的内容。
Perl是一种协助你出色地完成工作的语言。其他的书可以教你如何用Perl编程,而本书则会把你变成一名Perl程序员。
“《Perl语言入门》令人羡慕地完成了它预期的任务 —— 只讲授Perl的基础,而没有其他内容……它构建知识,而不是像很多其他书籍那样用大量的信息把读者淹没。这是O'Reilly出版的Perl系列书籍的第一部(其他书是《Programming Perl》、《Advanced Perl Programming》和《Perl Cookbook》),它确实是对一种语言的精彩介绍,这种语言已得到全世界开发人员和Web编码者狂热的支持。的确值得一读。”
——Amazon.co.uk
  1. 前言
  2. 第一章 简介
  3. 问题和答案
  4. “Perl”代表什么意思?
  5. 如何得到Perl?
  6. 如何写一个Perl程序?
  7. Perl的旋风式旅行
  8. 习题
  9. 第二章 标量数据
  10. 什么是标量数据?
  11. 数字
  12. 字符串
  13. Perl的内置警告
  14. 标量变量
  15. 用print输出
  16. if控制结构
  17. 取得用户输入
  18. chomp操作符
  19. while控制结构
  20. undef值
  21. defined函数
  22. 习题
  23. 第三章 列表和数组
  24. 访问数组的元素
  25. 特殊的数组索引
  26. 列表直接量
  27. 列表赋值
  28. 在字符串中替换数组
  29. foreach控制结构
  30. Perl最喜欢的缺省变量:$_
  31. 标量和列表上下文
  32. 列表上下文中的<STDIN>
  33. 习题
  34. 第四章 子例程
  35. 系统与用户函数
  36. 定义一个子例程
  37. 调用子例程
  38. 返回值
  39. 参数
  40. 子例程中的私有变量
  41. local操作符
  42. 可变长参数列表
  43. 词法(my)变量的说明
  44. use strict pragma
  45. return操作符
  46. 习题
  47. 第五章 散列
  48. 什么是散列?
  49. 散列元素访问
  50. 散列函数
  51. 散列的典型使用
  52. 习题
  53. 第六章 I/O基础
  54. 从标准输入进行输入
  55. 从钻石操作符进行输入
  56. 调用参数
  57. 向标准输出进行输出
  58. 用printf进行格式化的输出
  59. 习题
  60. 第七章 正则表达式的概念
  61. 什么是正则表达式?
  62. 使用简单的模式
  63. 一个模式测试程序
  64. 习题
  65. 第八章 正则表达式提高
  66. 字符类
  67. 通用数量符
  68. 锚位符
  69. 记忆的小括号
  70. 优先级
  71. 习题
  72. 第九章 使用正则表达式
  73. 使用m//进行匹配
  74. 选项修饰符
  75. 绑定操作符=~
  76. 在模式中替换
  77. 匹配变量
  78. 用s///进行替换
  79. split操作符
  80. join函数
  81. 习题
  82. 第十章 更多的控制结构
  83. unless控制结构
  84. until控制结构
  85. 表达式修饰符
  86. 裸块控制结构
  87. elsif子句
  88. 自递增与自递减
  89. for控制结构
  90. 循环控制
  91. 逻辑操作符
  92. 习题
  93. 第十一章 文件句柄和文件测试
  94. 什么是文件句柄?
  95. 打开一个文件句柄
  96. 用die表明致命错误
  97. 使用文件句柄
  98. 重新打开一个标准文件句柄
  99. 文件测试
  100. 习题
  101. 第十二章 目录操作
  102. 改变目录树
  103. glob
  104. glob的另一种语法
  105. 目录句柄
  106. 递归的目录列表
  107. 习题
  108. 第十三章 处理文件和目录
  109. 删除文件
  110. 重命名文件
  111. 链接和文件
  112. 建立和删除目录
  113. 修改权限
  114. 改变所有者
  115. 改变时间戳
  116. 使用简单的模块
  117. 习题
  118. 第十四章 进程管理
  119. system函数
  120. exec函数
  121. 环境变量
  122. 使用反引号捕获输出
  123. 文件句柄形式的进程
  124. 用fork进行深入和复杂的工作
  125. 发送和接收信号
  126. 习题
  127. 第十五章 字符串与排序
  128. 用index寻找子字符串
  129. 用substr处理一个子字符串
  130. 用sprintf格式化数据
  131. 高级排序
  132. 习题
  133. 第十六章 简单数据库
  134. DBM文件和DBM散列
  135. 用pack和unpack处理数据
  136. 固定长度的随机访问数据库
  137. 可变长(文本)数据库
  138. 习题
  139. 第十七章 一些高级Perl技术
  140. 用eval捕获错误
  141. 用grep从一个列表中选择条目
  142. 用map转换一个列表的条目
  143. 不加引号的散列键
  144. 更强大的正则表达式
  145. 切片
  146. 习题
  147. 附录一 习题答案
  148. 附录二 尚未谈到的主题
  149. 词汇表
书名:Perl语言入门(第三版)
译者:李晓峰 译
国内出版社:中国电力出版社
出版时间:2002年08月
页数:384
书号:7-5083-1113-2
原版书出版商:O'Reilly Media
Randal L. Schwartz
 
Randal L. Schwartz是软件工业界经历了两个时代的老战士。他精通软件设计、系统管理、安全、技术写作和培训。Randal与他人共同编著了许多已成为事实标准的“必备”书:《Programming Perl》、《Learning Perl》、《Learning Perl for Win32 Systems》和《Effective Perl Programming》,他还是杂志《WebTechniques》、《PerformanceComputing》、《SysAdmin》和《Linux》的专栏作家。他也是Perl新闻组的一位多产作者,并从comp.lang.perl.announce开始时就是它的管理员。他不落俗套的幽默和大师风范的技术在全世界范围内已经堪称传奇(不过可能他自己本身早就开始了这个传奇)。Randal回馈Perl社区的愿望促使他帮助成立了The Perl Institute,并提供了初始资金。他还是Perl Mongers(perl.org)创建理事会的成员,这是一个世界范围的Perl基层推广组织。从1985年起,Randal拥有并经营Stonehenge Consulting Services公司。Randal的联络方式是merlyn@stonehenge.com或(503)777-0095,欢迎广大读者与他共同探讨Perl的一些问题以及其他相关主题。








Randal L. Schwartz是一个电子零售商和企业家,靠软件设计、技术协作、系统管理、安全咨询和影像产品谋生。他以他的丰富的、幽默的和偶尔不正确的内容而闻名网络新闻组——特别是在comp.lang.perl上他的“Just another perl hacker”的签名。
Randal在Tektronix、ServioLogic和Sequent工作的7年磨练了许多技艺。在过去的 5年里,他在他的家乡奥勒冈州波特兰市已经开办并经营了Stonehenge Consulting Services
公司。







Randal L. Schwartz是一个电子零售商和企业家,靠软件设计、技术写作、系统管理、安全咨询和影像产品谋生。他以他的丰富的、幽默的和偶尔不正确的内容而闻名网络新闻组——特别是在comp.lang.perl上他的“Just another perl hacker”的签名。
Randal 在Tektronix、ServioLogic、和 Sequent工作的7年磨练了许多技艺。从1985年起,他在他的家乡奥勒冈州波特兰市已经开办并经营了Stonehenge Consulting Services公司。他是《Learning Perl》的作者和《Programming Perl》的作者之一,另外两位作者是Tom Christiansen 和Larry Wall——Perl的创始人。
Randal L. Schwartz is a renowned expert on the Perl programming language. In
addition to writing Learning Perl and the first two editions of Programming Perl, he
has been the Perl columnist for UNIX Review, Web Techniques, Sys Admin, and
Linux Magazine. He has contributed to a dozen Perl books and over 200 magazine
articles. Randal runs a Perl training and consulting company(Stonehenge Consulting
Services) and is highlysought after as a speaker for his combination of technical skill,
comedic timing, and crowd rapport. He’s also a pretty good Karaoke singer.
 
 
Tom Phoenix
 
Tom Phoenix自1982年起一直从事教育工作。他曾经在一个科学博物馆工作过13年以上,工作内容包括解剖、爆炸,还有可爱的动物、高压火花等。之后,从1996年起,他开始在Stonehenge Consulting Services讲授Perl课程。从那以后,他到过很多有趣的地方,因此也许你不久就会在一个Perl Mongers大会上见到他。一有时间,他就会在comp.lang.perl.misc和comp.lang.perl.moderated新闻组上回答问题,并致力于Perl的开发和利用。除了从事与Perl相关的工作、与Perl高手沟通及相关工作以外,Tom业余时间还从事密码学研究并练习世界语。他的家在俄勒冈的波特兰。
Tom Phoenix has been working in the field of education since 1982. After more than
13 years of dissections, explosions, work with interesting animals, and high-voltage
sparks during his work at a science museum, he started teaching Perl for Stonehenge
Consulting Services, where he’s worked since 1996. As it is traditional for Perl people
to have at least three other unlikely interests, Tom enjoys amateur cryptography,
Esperanto, and Squeak (Smalltalk). According to rumor, he has never turned down
an opportunityto playa game of Zendo. He lives in Portland, Oregon, with his wife
and cats.
 
 
本书封面上的标志动物是无峰驼,它是产自安第斯地区的骆驼的亲戚。同属该无峰驼家族的还有羊驼和它们的野生祖先:褐驼和骆马。在古人类居住地发现的骨头表明羊驼和无峰驼在4500年前就已经被驯化了。1531年,当西班牙征服者践踏位于巍峨的安第斯山脉中的印加帝国时,他们发现这两种动物数量巨多。这些无峰驼特别适应高山生活,它们的血色素比其他哺乳动物能够结合更多的氧气。
无峰驼体重可达300磅,主要用作驮畜。一个驮队可能有几百头无峰驼,每天可以行进20英里。无峰驼负重可达50磅,但性情暴躁,会以吐或咬的方式表示不快。对于居住在安第斯山脉的人们来说,无峰驼的肉可以吃,毛可做织物,皮可制成皮革,脂肪可做燃蜡。它们的毛发还可以用来编织绳子和毯子,晾干的粪便可做燃料。