从Python角度学习Perl

tMC*_*tMC 12 python scripting perl

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

dao*_*oad 17

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

花点时间看看Moose,尤其是MooseX :: Getopt

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

  • 最后一段为+1.每个人都有偏好,没有必要成为一个混蛋. (7认同)
  • 所有答案都是+1.现代Perl是Perl的精彩之旅.我可能不会推荐Moose用于系统管理的东西......虽然也有[Moo](http://search.cpan.org/perldoc?Moo),这可能会使命令行版本变得更加强大,而且代码也是如此强大; 以后也很容易切换.WRT你的BTW:[Perl和Python黑客比较](http://sedition.com/img/p/p/h/perl-and-python-hackers.png). (3认同)

Dav*_*oss 8

我知道你已经有了一本书,但根据你的描述,我建议用Perl自动化系统管理


hrr*_*hrr 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>非常有用.

最后,请注意虽然single('')和double-quoted("")字符串在python中是相同的,但它们不在perl中!例如,"$a\n"将进行插值,即'$ a'将被变量$ a的值替换.


小智 6

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

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