关于学习Perl
(本人也是刚开始学Perl,在网上也找了资料,感觉关于Perl资料很少。在http://www.perlchina.org/中国Perl协会看到建议初学者应该看Perl入门语言(第三版中文版),嘿嘿!在网上找了好久没找到,如果有人找到了,分享一下,看到一些人建议看Perl入门语言(第四版中文版),第四版在网上很好找的,在51CTO上传附件有限制,很麻烦的,我在这就不上传附件了,我觉的第四版挺好的。大家有什么资料共享,共同学习,有什么问题共同讨论。下面是我在网上找到的,大家耐心点,绝对是好资料哦。)
1.小骆驼
2.大骆驼
3.虎豹书
这三本要完整看完,所有书上的例子弄懂,自己实践一下,能结合具体工作更好。

Perl语言入门(第三版)
又叫小骆驼。初学者使用。
高级Perl编程
又叫黑豹书,应该算是learn perl的升级版,如果想成为perl黑客或者高手的话,不可不读。
Perl语言编程(第三版)
又叫大骆驼。囊括了 Perl 的所有知识,适用于查阅和检索,和 perl 附带的英文手册有一拚。
CGI编程-使用Perl
关于使用 Perl 来编写 CGI 程序。
推荐在线
学习资源
英文资源
perlmonks 教程
CGI 教程
Randal L. Schwartz 的 Perl 专栏
perl.com
文章
Perl 用法,窍门收集
中文资源
Perl 学习手札 繁体版
Perl 学习手札 简体版
Flamephoenix 的Perl教程
英文文档资源
在线 perldoc 文档镜像 1
在线 perldoc 文档镜像 2
如果你在 C 盘下装有activeperl,可以参考自带的本地文档
file:///C:/Perl/html/index.html
CPAN 资源
CPAN 模块搜索主站
CPAN 镜像
CPAN 模块搜索
CPAN 国内镜像
linuxforum
香港镜像
广州镜像
activeperl ppm 资源
activeperl ppm 下载
activeperl 5.6 ppm 下载
activeperl 5.8 ppm 下载
activeperl 5.6 ppm 下载 :如果你要的模块上面找不到的话,尝试这个
activeperl 5.8 ppm 下载 :如果你要的模块上面找不到的话,尝试这个
 

Perl是一门很有用的语言,可以用它来做很多事。然而,它也仅是一门语言,掌握了Perl,你只是掌握了Computer领域的一小块知识。在学习Perl前,请明确你的学习目的,并采用正确的学习方法和资源。

(一)学习目的
你学Perl的目的是什么?要实现你的目的,光有Perl够吗?让偶帮你分析看看。
1. 我想当一名System Administrator,并将Perl用于SA工作。
想法很好,优秀的SA,Perl能力必备。Perl自身的灵活语法,强大的正则表达式,良好的shell结合能力,以及CPAN的众多模块,会使你的SA工作如鱼得水,工作量倍减。然而,SA工作的本质还在于System,也许值得你花更多时间的,是System自身稳定和安全的维护。你要学习Unix,Linux等OS的操作,学习Apache,Sendmail,Bind,Squid,Mysql等应用配置,还要学习awk,sed等shell script。这些中的每一样要搞熟,都值得你付出很多努力呀。
2. 我想成为Web Programmer,并将Perl用于web development。
想法很好,请努力学习Perl。不要被一些所谓的流行概念迷惑,也不要整天费心思去想CGI什么时候会过时。至少从偶的观点看,有WEB的一天,CGI就永有用武之地。偶不列举国外用CGI driver的大站点,因为那太多了。国内最大的2个Email Services Provider,Sina和网易,他们的webmail就是用CGI实现的,并且每天承担着千万级的访问。
然而你也该认识到,光掌握Perl,对从事web develop来说,还是很不够的。你要学习HTTP协议,学习HTML,XML,JavaScript等web呈现语言,学习mod_cgi,mod_perl等Apache模块,学习SQL语句和database。甚至还要学习PHP,JAVA或.net技术,毕竟这三样很流行,你不一定要爱好它们,但掌握了它们,在国内找工作相对有利。偶很少听说有web development单招Perl Programmer的,这点与国外不一样。同样的,上述偶提到的各个方面,也需要你花很多心思去学习,而绝不是只学好Perl那么简单。
3. 我想成为一名Applications Programmer,将Perl用于applications development
如果是这样,偶劝你还是先学好C/C++吧,毕竟那才是计算机语言的根本。虽然一些简单的applications可以用Perl来编写,虽然Lincoin Stein先生说,他用Perl开发的WEB服务器比Apache还快,但是,Perl开发的Program要想产品化,还有很多problems--它毕竟只是一种解释性Script,底层的很多东西还是基于C的。要想追求高性能和产品化,为什么不用C呢?
当然,如果你只是为自己或自己的company编写applications,那用Perl无可厚非。偶们公司有个LOG部门,每天的工作就是分析海量数据,这用Perl来做足够了。处理文本,Perl强过任何一门语言。然而即使这样,该部门招人时,还是要求你会C/C++.
4. 我想做一名Perl Hacker,并为CPAN贡献modules.
精神很可嘉,希望你能坚持下去。偶达不到这个层次,所以也不好说什么。往这方面发展时,希望你能彻底理解OOP,理解各类引用传递和符号表的概念,否则也就谈不上写modules了。

(二)学习方式
如果没有老师教的话(据偶所知,国内的University/College,很少有开Perl课程的),那么唯一的学习方式就是多看书,多动手写code.
1. 是要多看书,还是多看其他人的Code?
当然是前者。只有你了解原理了,才可灵活运用,写出清晰的code,并形成自己的Code Style(代码风格)。
一味的看别人的code,而不注重基础知识,会使你迷惘而不知所措。因为这样你所学的知识会很散乱,行不成自己的知识体系。
当然,一边看书,一边看别人的Code,也是好的学习方式。但请记住,你看别人的Code,是有助于你去理解书本中的基础知识,不要本末颠倒了。
2. 刚看完了基础书,我想看"Perl高级编程"和"Perl技术内幕"
最近在CU Forum看到很多这种topics,偶一听到就faint。请先保证你彻底理解基础知识了,再去看那些Books吧。曾经有人问偶关于Perl的高级data structure,一聊之下发现他对Perl的基本reference都不甚明了,那还有什么好谈的呢?有多少人分不清楚$var与($var)的区别?又有多少人还不明白$$hashref{$key}与$hashref->{$key}的不同?永远不要太心急,请循序渐进来。偶的老师在Perl界也算有点名气,他说完全掌握Perl用了3年时间。多看书,多动手,不要好高骛远哦。

(三)学习资源
偶看过的3本书,觉得都very good,它们是"Learning Perl","Programming Perl","Network Programming with Perl".还有一本好像是"CGI Programming with Perl",没怎么仔细看,就不提了。前2本是Oreilly出版的,别名大小Camel Book(骆驼书),是Perl入门和提高的经典书籍。第3本是Lincoin Stein先生的经典力作,他也是mod_cgi的开发者,其精湛的技术令偶受益终生。这3本书好像都有中文版,去书店看看能否买到。如果你阅读English没问题,那偶建议你还是阅读原版的好。
另外,订阅Perl Mailing List也可令你从中受益,这里列出了所有知名的Perl Mailing List:http://lists.cpan.org/
其中的beginners和beginners-cgi也许对你有用。modperl-user是讨论mod_perl的。
站点方面:
http://learn.perl.org/  这个站点是为学习Perl的People准备的
http://perl.apache.org/docs/  这里有mod_perl的完整Docs