代码之家  ›  专栏  ›  技术社区  ›  Community wiki

从Python的角度学习Perl

  •  12
  • Community wiki  · 技术社区  · 3 年前

    我对python相当熟悉,从系统自动化和工具构建的角度来看;我是一名系统管理员。我最近在一家公司开始了一份新工作,该公司希望对perl进行标准化,但我对此一无所知。因此,我需要快速了解perl,并希望有人能为试图学习perl基础知识的python开发人员/脚本编写人员提供一些有用的参考。我发现 this 关于从perl到python;我需要相反的东西。我买了 the llama book ,但尚未开始阅读。有什么意见/建议吗?

    5 回复  |  直到 9 年前
        1
  •  17
  •   daotoad    15 年前

    浏览Llama(这会很容易),当你完成结账时 Effective Perl Programming 和/或 Modern Perl 。它们将帮助你避免1994年写的那些糟糕的教程所鼓励的错误,这些教程似乎仍然在网上引起反响。

    花点时间结账 Moose 尤其是 MooseX::Getopt

    顺便说一句,比起Python,我更喜欢Perl,但我觉得没有必要关闭Python 每次提到它 WTF Pythonistas?请考虑一下,没有任何语言是完美的,也没有任何语言拥有“编程的终极真理”。正如布鲁克斯所指出的,没有灵丹妙药。Python有一些非常棒的东西,Perl有一些非常好的东西。Python有一些垃圾,Perl有一些垃圾。

        2
  •  8
  •   Dave Cross    15 年前

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

        3
  •  8
  •   Paulo    10 年前

    一些典型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的值替换。

        4
  •  6
  •   Scott Nguyen    15 年前

    为了工作,我从Python转到了Perl。我也使用了Learning Perl,它帮助我在一个周末的黑客活动中很好地学习了Perl。

    学习Perl的最好方法是阅读并使用课本。如果你正在寻找练习,你可以用Perl重写现有的Python项目,以加快学习该语言的速度。

        5
  •  2
  •   Tom Zych    15 年前

    你最好的办法就是读完Llama的书并做练习。来自语法有些相似的Python,请确保您编写的是Perl而不是Python。