什么是"现代Perl"?

bod*_*ydo 13 perl

我听过很多关于这个"现代Perl"的消息.它是什么?

我听到的一件事是新的开放式语法:

open my $FH, '<', $filename
Run Code Online (Sandbox Code Playgroud)

并不是

open FH, "<$filename";
Run Code Online (Sandbox Code Playgroud)

现代Perl还有什么?

dei*_*nst 12

引用来源

现代Perl编程,大约在2010年,依赖于整个Perl生态系统的收集智慧.是时候编写优雅,可靠,可维护,经过良好测试和可预测的代码.

另见.而这本书的引用

现代Perl简单描述了经验丰富且有效的Perl 5程序员的工作方式.他们使用语言习语.他们利用了CPAN.他们是可识别的Perlish,他们表现出良好的品味和工艺以及对Perl的充分理解.


Jos*_*ley 9

要为deinst的概述添加一些细节,Modern Perl:

  • 使用Perl 5.10的新功能,如switch语句(given/ when)和say
  • 遵循良好的Perl编程实践,例如use strictuse warnings
  • 可以使用Modern :: Perl CPAN模块来简化所有这些
  • 使用Moose编写高级OO代码

  • 另外:避免全局变量,更喜欢词法范围和访问器,编写模块化和可重用代码,使用CPAN,测试,测试和更多测试! (6认同)
  • 您链接的`switch`不是Perl 5.10功能.这是一个现已弃用的核心模块.你可能想要[`given` /`when`](http://perldoc.perl.org/perlsyn.html#Switch-statements) (3认同)