我知道Python(和其他一些语言),我认为学习Perl可能会很好,即使看起来很多人都在这样做the other way around。
我主要担心的不是语言本身(我认为这部分总是很容易),而是关于学习 Perlish (与 Pythonic 相比)的做法事情;因为如果我最终用Perl编写Python,我认为这不值得。
所以我的问题基本上都是两个:
答案 0 :(得分:16)
Perl更“方便”的一个领域是将它用于一个衬里。 Python可用于生成一个衬垫,但通常是“笨重”(或丑陋)。请注意,Perl以其“简洁”或“简洁”而闻名,通常以牺牲可读性为代价。所以来自Python,你必须学会习惯它。
另一个领域是Perl在CPAN中的大量模块。相当于Pypi,但其模块不如CPAN那么多。
说,两者都做类似的事情,都有自己的优点。
至于你的第二个问题,你可以看一下Perl documentation。我发现它非常有用。特别是阅读Perl FAQ。如果我想了解Perl,它们是我自己最好的资源。
答案 1 :(得分:14)
有关最佳做法,请查看Damian Conway的Perl Best Practices。并非所有推荐的做法都有意义,但大多数做法都有。
Perl::Critic模块也有助于实施最佳做法。
另外,请查看Modern Perl Books博客。
如果您有任何疑问,Perlmonks是获得帮助的最佳网络论坛。有大量知识渊博,友善的人能够并且愿意回答你的问题并讨论不同方法的优点。
答案 2 :(得分:11)
查看Moose
。它是最先进的 OO框架,类似于CLOS
以及Perl6
中可用的内容。它引入了roles
的新(ish)概念,并将引导您接近Aspect-oriented programming
。
Functional Programming
。查看Mark Jason Dominus撰写的Higher-Order Perl
书籍(可从本网站下载PDF文件)。
答案 3 :(得分:4)
我认为O'Reilly Media的Learning Perl是开始使用Perl的好方法,即使你已经精通Python了。
特别是如果你想了解单行内容(这就是Perl真正擅长的)
答案 4 :(得分:3)
Effective Perl Programming主要面向那些了解Perl语法基础但需要学习习语的人。我们还在Effective Perler博客中介绍了类似的内容:)
答案 5 :(得分:3)
我最喜欢的书籍之一,想要学习它然后完成任务是由Greg London Impatient Perl提供的,这是来自perl.org的免费上网本。如果您是程序员,了解脚本,了解动态语言背后的概念,并且只想知道perl是如何做到的,那么这是一个很好的启动资源。