in reply to Summary of Perl in the past 2-3 years

In the last few years, we've seen the rise of "modern Perl", which is a (not well defined, but useful) set of "modern" techniques, helpful modules and tools (and maybe philosophy, too). Perl 5.10 and 5.12 have been released, see perl5100delta and perl5120delta.

It includes advice as simple as using the three-argument form of open and lexical file handles, and helpful modules like Moose. chromatic works on a book that teaches modern Perl.

We've also seen increased blogging about perl, see for example the iron man challenge, perlsphere and planet six.

Perl 6 is developing steadily, and we plan to ship an early adapter's release for Rakudo Perl 6 this quater (so before end of June). The recent Perl 6 spec changes have nearly all been based on user feedback, or questions of the compiler writers.

There has been so much activity in the Perl community that it feels almost impossible to summarize it well in a few lines, so I hope others will chime in and supply all the important facts I forgot.

  • Comment on Re: Summary of Perl in the past 2-3 years

Replies are listed 'Best First'.
Re^2: Summary of Perl in the past 2-3 years
by JavaFan (Canon) on Apr 22, 2010 at 10:45 UTC
    It includes advice as simple as using the three-argument form of open and lexical file handles
    I'm sure you know this, but some readers may get the wrong impression. Neither three-argument open() nor lexical file handles dates from the last 2-3 years. Three arg open dates from 5.6 (released last millennium, when Perl6 was still a term referring to Chips aborted Topaz project).

    "Lexical file handles" (or rather, references to file handles stored in a lexical variable) have been available for much longer. I don't have anything older than 5.005_04 at the moment, but I think they worked since 5.000. What was new in 5.6 (and that's what made them popular) was the autovivification of them. The following code uses "lexical file handles" and runs on pre-5.6 code:

    use strict; local *FILE; my $fh = \*FILE; open $fh, "</etc/passwd" or die; while (<$fh>) { print; } __END__

      Thanks for the addition. What's really new is the effort to use the recommended techniques consistently in the documentation shipped with Perl.

      See also Modern Perl Programming Highs and Lows for other opionons of what "modern perl" encompasses.

      (Update: that wasn't the thread I meant to link to, but I can't find it right now :./ )