Perl - Ruby映射?

khe*_*lll 7 ruby perl

我参与了一个新的项目,Perl是必须的.我来自一个很好的Ruby基础,想要在Perl和Ruby之间快速介绍或映射,因为我听说Perl和Ruby的语法非常接近(对功能一无所知).

  1. 你对我有什么建议吗?
  2. 你推荐什么伟大的Perl书作为扩展参考?
  3. 现在Perl的常用版本是什么?

Tel*_*hus 16

我是Nathan的第二本书,虽然我也会提到Beginning Perl.两个额外的功能是:(1)它可以在第一版中自由(和合法)在线获得(注意:这个网站现在正在超时,我不确定这是否是暂时的)和(2)它涵盖的数量相同作为学习Perl中级Perl的结合.一个骗局是它有时候会更加基本化.(学习Perl的速度更快,假设更多 - 这可能是一件好事.)

你也可以看一下:来自Ruby的网站上来自Perl的Ruby.只需反过来考虑它.

在版本方面,5.10.1是稳定的,但你会遇到一个范围.我怀疑,大多数情况下你会发现5.8.x及以上.(正如Ruby 1.9.1稳定,但你会发现很多地方仍在使用1.8.6或更高版本.)

因为我有点朝相反的方向发展(我比较熟悉Perl,而且我经常使用Ruby),我可以提到一些对我有用的东西:

  1. 在Perl中,您可以在字符串和数字之间进行自动转换(并且您不需要通过使用.to_f或使一个项目成为浮点来显式请求浮点结果).
  2. 分号对于Perl中的end语句不是可选的.类似地,Perl中的括号在Ruby中比在Ruby中更少.(这会很快变得复杂,但是例如,您必须在条件或while块中使用括号进行测试.)
  3. 0(字符串,整数和浮点数),undef空字符串false在布尔测试中计算.
  4. 没有单独的布尔truefalse.
  5. 您可以使用符号区分数据类型:$foo是标量; @foo是一个数组; %foo哈希.(特别是数组会让你烦恼:它们不是实例变量.)
  6. 您需要使用my关键字在Perl中显式地定义项目.
  7. Perl中的数组在组合时会自动展平.(这经常让我咬红宝石.)
  8. 上下文,上下文,上下文.在Perl中,你的代码实际上做了大量的工作取决于你理解你所处的上下文.这里是一个开始的链接,但它是一个很多角落和缝隙的大话题.

(请注意,我没有提到房间里的1000磅大猩猩.OO是Perl可以做到的一部分,但它不是Perl的中心,因为它在Ruby中.)

  • 对于OO perl,学习Moose http://search.cpan.org/perldoc?Moose::Cookbook ...... (2认同)

hob*_*bbs 13

版本

在Perl Survey 2007***中,大多数Perl编码器使用Perl 5.8,87%至少在某些时候使用5.8.x,5.8.8是最常见的单一版本.少数人至少在一些项目中使用5.6.x,而较小(但偶尔也很有声音)的少数民族使用5.005.从那时起,Perl 5.10已经发布,目前还不清楚采用率是多少; 很多企业可能保守并且运行5.8.8或5.8.9,但许多你可能称之为"着名黑客"的企业正在使用5.10.1甚至有时需要它的功能.

参考

  • 对于任何具有以前编程经验且希望快速掌握Perl速度的人来说,Perl 编程是一个胜利者.当前版本是第三版,它与Perl 5.6.0相对应(不幸).
  • 还推荐使用Learning Perl,Intermediate Perl,Mastering Perl系列; 学习Perl的开始相当缓慢,因为它针对的是初学者,但它最终涵盖了该语言的所有主要功能,包括2000年编程Perl最后修订时不存在的一些功能.
  • perldocs文档.请不要忽视perldocs.主索引位于perldoc perl,或者您可以在线阅读perldoc.perl.org.这些与Programming Perl几乎一样好,因为实际上该书的一部分是从Perldocs中提取的.我建议至少彻底浏览perlsyn,perlop,perlrun,perlvar,perlre,perlobj,perlmod,perluniintro,perlreftut和perldsc.直接阅读perlfunc一次也不是一个坏主意.
  • 有效的Perl编程是我一直推荐的一本书,用于学习如何使用Perl框架解决问题.它的1998年出版日期限制了它的实用性,但我仍然认为它值得一读 - 幸运的是,brian d foy和Josh McAdams正在制作一个更新版本,因为(我想 - 不要相信我太过分了)2010年3月[ 第二版是现在在这里-布莱恩 ]
  • Perlmonks是一个很好的资源,特别是如果你记得使用搜索功能.在那里已经提出并回答了很多问题,并为后代编制了最佳答案,以及书籍和在线常见问题解答等资源列表.

***:我很乐意提供2007年Perl调查的链接,但不幸的是,perlsurvey.org域名被允许失效.可以在github上找到结果PDF的副本,并且大多数原始数据在CPAN上Data::PerlSurvey2007.

  • 一篇好文章(调查结果非常有帮助),但我不得不同意一件事.*学习Perl*着重*不*涵盖"语言的所有主要特征." 首先,它不包括这些:引用,Perl中的OO,嗯 - 引用,复杂的数据结构(参见参考资料).我非常建议任何购买*Learning Perl*的人也会立即购买*Intermediate Perl*,除非他们只计划编写简短的脚本. (6认同)