Perl语言编程

本网站不提供下载链接,喜欢看书的朋友请关注公众号:【lennylee的碎碎念】(lennyleede),首页回复:授人以渔,自动获取搜索资源的方法。

内容简介:

这不仅仅是一本关于Perl的书籍,更是一本独一无二的开发者自己介绍该语言及其文化的书籍。Larry Wall是Perl的开发者,他就这种语言的未来发展方向提出了自己的看法。Tom Christiansen是最早的几个拥护者之一,也是少数几个在错综复杂的中游刃有余的人之一。Jon Orwant是《Perl Journal》的主编,该杂志把Perl社区组合成了一个共同的论坛,以进行Perl新的开发。

作者简介:

Larry Wall是Perl的创造者,也是其他一些流行的Unix自由软件的作者,包括rn新闻阅读器和无处不在的patch程序。从学历来看,Larry实际上是一位语言学家,是加州大学伯克利分校和洛杉矶分校的毕业生。

前言
第一部分 概述
第一章 Perl概述
第二部分 细节
第二章 集腋成裘
第三章 一元和二元操作符
第四章 语句和声明
第五章 模式匹配
第六章 子例程
第七章 格式
第八章 引用
第九章 数据结构
第十章 包
第十一章 模块
第十二章 对象
第十三章 重载
第十四章 绑定变量
第三部分 作为技术的Perl
第十五章 Uicde
第十六章 进程间通信
第十七章 线程
第十八章 编译
第十九章 命令行接口
第二十章 Perl调试器
第二十一章 内部和外部
第四部分 作为文化的Perl
第二十二章 CPA
第二十三章 安全
第二十四章 通用实践
第二十五章 可移植的Perl
第二十六章 pd
第二十七章 Perl文化
第五部分 参考资料
第二十八章 特殊名字
第二十九章 函数
第三十章 标准Perl库
第三十一章 pragma
第三十二章 标准模块
第三十三章 诊断消息
词汇表
· · · · · · (收起)

原文摘录:

在构造一个数组的数组的时候,要记得为子数组构造新的引用。否则,你就你就会只创建了一个包含子数组元素计数的数组,象这样:
for $i (1..10) {
@array = somefunc($i);
$AoA = @array; # 错误!
}

for $i (1..10) {
@array = somefunc($i);
$AoA[$i] = \@array; # 又错了!
每个 for 循环的第二行生成的引用都是一样的,也就是说,一个指向同一个数组 @array
的引用。的确,这个数组在循环的每个回合中都会变化,但是当所有的话都说完了,所有的
事都做完了之后, $AoA 就包含 10 个指向同一数组的引用,这个时候它保存给它的最后
一次赋值的数值。 print @{$AoA[1]} 将检索和 print @{$AoA[2]} 一样的数值。 (查看原文)

不再回来
2011-03-25 11:26:51

—— 引自第308页

你可以使用任何的标量表达式来代替文件名说明符。不过,你通常会想要明确指定输入或输出的方向:
my $selected_output = “my_output”;
open LOG, “> $selected_output”;
注意大于号后的空格。Perl会忽略它【注29】,但这个空格能防止意外发生。如果$selected_output的值是”>passwd”而之前又没有空格的话,就会变成以替换方式写入,而非以追加方式写入文件。
而之前又没有空格的话 (查看原文)

豆友49796659
20 回复
2012-03-21 11:30:04

—— 引自第96页