从Python角度学习Perl

时间:2011-03-28 14:25:34

标签: python perl scripting

我对python很熟悉,从系统自动化和工具构建的角度来看;我是一个交易系统。我最近在一家想要在perl上实现标准化的公司开始了一份新工作,我不知道。所以我需要快速掌握perl的速度,希望有人可以指出一些针对python开发人员/脚本编写者的有用参考资料,试图学习perl的基础知识。我找到this关于从perl到python的事情;我需要相反的。我买了the llama book,但尚未开始阅读。任何意见/建议?

5 个答案:

答案 0 :(得分:17)

通过Llama进行练习(这很容易),当你完成检查时Effective Perl Programming和/或Modern Perl。他们会帮助你避免1994年写的所有蹩脚教程所鼓励的错误,这些错误似乎仍然在网络上引起反响。

花点时间查看Moose,特别是MooseX::Getopt

顺便说一下,我比Per更喜欢Perl,但我觉得每次提到时都不需要运行Python 。 WTF Pythonistas?请考虑一下,没有语言是完美的,没有语言能够保持“编程的终极真理”。布鲁克斯指出,没有银弹。 Python有一些很棒的东西,Perl有一些很棒的东西。 Python有一些东西是垃圾,Perl有一些废话。

答案 1 :(得分:8)

我知道你已经有了一本书,但根据你的描述,我会推荐Automating System Administration with Perl

答案 2 :(得分:8)

典型python习语的一些翻译成perl:

  • 列表理解[x * x for x in range(10)]变为map {$_ * $_} 0..9
  • 过滤器filter(x > 5, range(10))变为grep {$_ > 5} 0..9
  • 功能def f(x, y): return x + y变为sub f { my ($x, $y) = @_; $x + $y }

作为内置函数的快速参考,我发现perldoc -f <function_name>非常有用。

最后,请注意,虽然单个('')和双引号("")字符串在python中是相同的,但它们不在perl中!例如,"$a\n"将被插值,即'$ a'将被变量$ a的值替换。

答案 3 :(得分:6)

我也从Python到Perl工作。我也使用了Learning Perl,它帮助我在一个周末的黑客攻击中相当好地学习了Perl。

学习Perl的最佳方法是阅读该教科书并使用它。如果您正在寻找练习,可以在Perl中重写现有的Python项目,以加快学习语言的速度。

答案 4 :(得分:2)

最好的办法是通过Llama书来完成练习。来自Python,它的语法有些相似,请确保你编写的是Perl而不是Python。