What’s new in Perl . ?

       Léon Brocard


       YAPC::Europe
    Pisa, th August
Me

 Léon Brocard
 European, live in London
 Like food
 Like the colour orange
 Founded Amsterdam.pm, Bath.pm, Croydon.pm
...
What?



 Perl


 perl
Releases



     -   -   Perl
     -   -   Perl
     -   -   Perl
     -   -   Perl
     -   -   Perl
Major releases
     -   -   Perl
     -   -   Perl   .
     -   -   Perl   .
     -   -   Perl   .
     -   -   Perl   .
 ...
Development releases

     -   -   Perl   .   .   – Jesse Vincent
     -   -   Perl   .   .   – Jesse Vincent
     -   -  ...
Fixing Perl Core Bugs


  Grant to David Mitchell from the Perl Foundation
     ,     from booking.com
  “ ere are current...
TPF bug-grant report


  I haven’t done much in the way of actual xing this
  week, but I have gone through the      or so...
TPF bug-grant June report

   h    diagnosing bugs
    h      xing bugs
   h     reviewing other people’s bug xes
   h    ...
Perl . .



  Perl . . represents approximately two years of
  development since version . . and contains over
     ,    l...
Perl . .



  Perl . . represents approximately four weeks of
  development since Perl . . and contains
  approximately , ...
Perl . .



  Perl . . represents approximately one month of
  development since Perl . . and contains ,
  lines of change...
More tests
Perl .


  Smart matching given / when
  Named captures
  State variables
  De ned-or
  say
  ...
Perl .   new features
Most important feature

    e J.R.R. Tolkien quotes at the head of C source le
  have been checked and proper citations ad...
New package NAME VERSION syntax



 package Foo::Bar 1.23;

 # equivalent to:
 package Foo::Bar;
 our $VERSION = ’1.23’;
Yada yada



  sub unimplemented { ... }
  unimplemented();

  # Unimplemented at example.pl line 1.
Implicit strictures



  use 5.12.0;

  # means:
  use strict;
  use feature ’:5.12’;
Unicode .


  New scripts: Bamum, Javanese, Lisu, Meetei Mayek,
  Samaritan, Tai am and Tai Viet.
  New characters: Abkhaz...
Y         compliance




    Perl’s core time-related functions are now Y
    compliant.
New autodie module


  Replace functions with ones that succeed or die with
  lexical scope.

  use autodie;
  open(my $fh...
qr// overloading


  “Since REGEXPs are rst-class objects now, it seems
  appropriate that they should have an overloaded
...
Pluggable keywords

  Extension modules can now cleanly hook into the
  Perl parser to de ne new kinds of keyword-headed
 ...
More features
  ƒN experimental regex escape
  APIs for more internals (Lexical::Import)
  Overridable function lookup
  A...
More features ( )


  @INC order change
  REGEXPs are now rst class
  Switch statement changes
  Smart match changes
  sui...
More features ( )



  More speed
  Less memory
  Fewer bugs
  Still compatible
Development releases to come



     -   -   Perl   .   .   – Florian Ragwitz
     -   -   Perl   .   .   – Jesse Vincent
...
Leading to . . .



      -   -   Contentious change freeze
      -   -   User-visible change freeze
      -   -   Hard fr...
anks




Use Perl . now!
Any questions?
en. . .



Co ee break until :
Tomorrow: London.pm August Social, Piazza delle
Vettovaglie
Upcoming SlideShare
Loading in...5
×

What's new in Perl 5.12?

3,493

Published on

The last year has been a busy one in Perl land. Find out about the latest and greatest versions of Perl: Perl 5.10.1 and Perl 5.12. Find out how they have been developed, what useful new features they bring and what's coming in the future.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,493
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
26
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

What's new in Perl 5.12?

  1. 1. What’s new in Perl . ? Léon Brocard YAPC::Europe Pisa, th August
  2. 2. Me Léon Brocard European, live in London Like food Like the colour orange Founded Amsterdam.pm, Bath.pm, Croydon.pm Now leader of London.pm Started YAPC::Europe Entrepreneur perl hacker
  3. 3. What? Perl perl
  4. 4. Releases - - Perl - - Perl - - Perl - - Perl - - Perl
  5. 5. Major releases - - Perl - - Perl . - - Perl . - - Perl . - - Perl . - - Perl . - - Perl . . - - Perl . . - - Perl . . - - Perl . . - - Perl . . - - Perl . .
  6. 6. Development releases - - Perl . . – Jesse Vincent - - Perl . . – Jesse Vincent - - Perl . . – Léon Brocard - - Perl . . – Jesse Vincent - - Perl . . – Ricardo Signes - - Perl . . – Steve Hay - - Perl . . – Ask Bjørn Hansen - - Perl . . – Léon Brocard - - Perl . . – Ricardo Signes - - Perl . . – Matt Trout - - Perl . . – David Golden
  7. 7. Fixing Perl Core Bugs Grant to David Mitchell from the Perl Foundation , from booking.com “ ere are currently approximately open and new bug reports in the perl bug queue . . . Note that unlike many large open source projects, perl has no paid developers devoted to bug xing”
  8. 8. TPF bug-grant report I haven’t done much in the way of actual xing this week, but I have gone through the or so new/open RT tickets that have (severity >= medium), and marked each one up with one or more of the new ‘type’ custom eld values I recently asked to be added to RT, e.g. ‘Unicode’ or ‘debugger’ — David Mitchell
  9. 9. TPF bug-grant June report h diagnosing bugs h xing bugs h reviewing other people’s bug xes h reviewing ticket histories h review the ticket queue (triage) tickets closed that have been worked on tickets closed related to bugs that have been xed tickets closed that were reviewed but not worked on (triage)
  10. 10. Perl . . Perl . . represents approximately two years of development since version . . and contains over , lines of changes across over , les from over authors.
  11. 11. Perl . . Perl . . represents approximately four weeks of development since Perl . . and contains approximately , lines of changes across les from authors.
  12. 12. Perl . . Perl . . represents approximately one month of development since Perl . . and contains , lines of changes across les from authors.
  13. 13. More tests
  14. 14. Perl . Smart matching given / when Named captures State variables De ned-or say ...
  15. 15. Perl . new features
  16. 16. Most important feature e J.R.R. Tolkien quotes at the head of C source le have been checked and proper citations added /* * Sam sat on the ground and put his head * in his hands. ’I wish I had never come * here, and I don’t want to see no more * magic,’ he said, and fell silent. * * [p.363 of _The Lord of the Rings_, * II/vii: "The Mirror of Galadriel"] */
  17. 17. New package NAME VERSION syntax package Foo::Bar 1.23; # equivalent to: package Foo::Bar; our $VERSION = ’1.23’;
  18. 18. Yada yada sub unimplemented { ... } unimplemented(); # Unimplemented at example.pl line 1.
  19. 19. Implicit strictures use 5.12.0; # means: use strict; use feature ’:5.12’;
  20. 20. Unicode . New scripts: Bamum, Javanese, Lisu, Meetei Mayek, Samaritan, Tai am and Tai Viet. New characters: Abkhaz, Canadian Aboriginal Syllabics, Coptic, Devanagari, Khamti Shan, Malayalam and Myanmar. Also: Gardiner set of Egyptian Hieroglyphs, Imperial Aramaic, Avestan, Kaithi, Old South Arabian and Old Turkic.
  21. 21. Y compliance Perl’s core time-related functions are now Y compliant.
  22. 22. New autodie module Replace functions with ones that succeed or die with lexical scope. use autodie; open(my $fh, ’<’, ’missing’); # Can’t open ’missing’ for reading: ’No such # file or directory’ at ./play.pl line 6
  23. 23. qr// overloading “Since REGEXPs are rst-class objects now, it seems appropriate that they should have an overloaded conversion of their very own. e overload needs to return either a ref to a REGEXP (a qr//) or a bare REGEXP.” Used by Regexp::Grammars
  24. 24. Pluggable keywords Extension modules can now cleanly hook into the Perl parser to de ne new kinds of keyword-headed expression and compound statement. use XS::APItest::KeywordRPN qw(rpn calcrpn); $triangle = rpn($n $n 1 + * 2 /); # generates ops equivalent to: $triangle = ($n * ($n + 1))/2;
  25. 25. More features ƒN experimental regex escape APIs for more internals (Lexical::Import) Overridable function lookup A proper interface for pluggable Method Resolution Orders DTrace support each is now more exible when as a statement modi er Enabling warnings from your shell environment delete local New support for Abstract namespace sockets -bit limit on substr arguments removed
  26. 26. More features ( ) @INC order change REGEXPs are now rst class Switch statement changes Smart match changes suidperl is no longer part of Perl Deprecations warn by default Deprecated modules: Class::ISA, Pod::Plainer, Shell, Switch + Perl .pl les
  27. 27. More features ( ) More speed Less memory Fewer bugs Still compatible
  28. 28. Development releases to come - - Perl . . – Florian Ragwitz - - Perl . . – Jesse Vincent - - Perl . . – Steve Hay - - Perl . . – Tatsuhiko Miyagawa - - Perl . . – Chris Williams
  29. 29. Leading to . . . - - Contentious change freeze - - User-visible change freeze - - Hard freeze - - Perl .
  30. 30. anks Use Perl . now! Any questions?
  31. 31. en. . . Co ee break until : Tomorrow: London.pm August Social, Piazza delle Vettovaglie
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×