what's new in perl 5.12?

Download What's new in Perl 5.12?

If you can't read please download the document

Upload: acme

Post on 16-Apr-2017

4.091 views

Category:

Technology


1 download

TRANSCRIPT

  • Whats new in Perl 5.12?

    Lon Brocard

    YAPC::EuropePisa, 4th August 2010

  • Me

    Lon BrocardEuropean, live in LondonLike foodLike the colour orangeFounded Amsterdam.pm, Bath.pm, Croydon.pmNow leader of London.pmStarted YAPC::EuropeEntrepreneurperl hacker

  • What?

    Perl

    perl

  • Releases

    1987-12-18 Perl 11988-06-05 Perl 21989-10-18 Perl 31991-03-21 Perl 41994-10-17 Perl 5

  • Major releases

    1994-10-17 Perl 51995-03-13 Perl 5.0011996-02-29 Perl 5.0021996-06-25 Perl 5.0031997-04-15 Perl 5.0041998-07-22 Perl 5.0052000-03-22 Perl 5.6.02002-07-18 Perl 5.8.02007-12-18 Perl 5.10.02009-08-22 Perl 5.10.12010-04-12 Perl 5.12.02010-05-16 Perl 5.12.1

  • Development releases

    2009-09-02 Perl 5.11.0 Jesse Vincent2009-10-20 Perl 5.11.1 Jesse Vincent2009-11-20 Perl 5.11.2 Lon Brocard2009-12-20 Perl 5.11.3 Jesse Vincent2010-01-20 Perl 5.11.4 Ricardo Signes2010-02-20 Perl 5.11.5 Steve Hay2010-03-20 Perl 5.11.6 Ask Bjrn Hansen2010-04-20 Perl 5.13.0 Lon Brocard2010-05-20 Perl 5.13.1 Ricardo Signes2010-06-20 Perl 5.13.2 Matt Trout2010-07-20 Perl 5.13.3 David Golden

  • Fixing Perl5 Core Bugs

    Grant to David Mitchell from the Perl Foundation$25,000 from booking.comere are currently approximately 1200 open and300 new bug reports in the perl5 bug queue . . .Notethat unlike many large open source projects, perl hasno paid developers devoted to bug xing

  • TPF bug-grant report #1

    I havent done much in the way of actual xing thisweek, but I have gone through the 500 or sonew/open RT tickets that have (severity >= medium),and marked each one up with one or more of the newtype custom eld values I recently asked to be addedto RT, e.g. Unicode or debugger David Mitchell

  • TPF bug-grant June report

    3h45 diagnosing bugs48h32 xing bugs0h00 reviewing other peoples bug xes0h00 reviewing ticket histories0h15 review the ticket queue (triage)

    4 tickets closed that have been worked on0 tickets closed related to bugs that have been xed1 tickets closed that were reviewed but not worked on(triage)

  • Perl 5.12.0

    Perl 5.12.0 represents approximately two years ofdevelopment since version 5.10.0 and contains over750,000 lines of changes across over 3,000 les fromover 200 authors.

  • Perl 5.12.1

    Perl 5.12.1 represents approximately four weeks ofdevelopment since Perl 5.12.0 and containsapproximately 4,000 lines of changes across 142 lesfrom 28 authors.

  • Perl 5.13.3

    Perl 5.13.3 represents approximately one month ofdevelopment since Perl 5.13.2 and contains 12,184lines of changes across 575 les from 104 authors.

  • More tests

  • Perl 5.10

    Smart matching given / whenNamed capturesState variablesDened-orsay. . .

  • Perl 5.12 new features

  • Most important feature

    e J.R.R. Tolkien quotes at the head of C source lehave 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 dont 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"]*/

  • 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 5.2

    New scripts: Bamum, Javanese, Lisu, Meetei Mayek,Samaritan, Taiam and Tai Viet.New characters: Abkhaz, Canadian AboriginalSyllabics, Coptic, Devanagari, Khamti Shan,Malayalam and Myanmar.Also: Gardiner set of Egyptian Hieroglyphs, ImperialAramaic, Avestan, Kaithi, Old South Arabian andOld Turkic.

  • Y2038 compliance

    Perls core time-related functions are now Y2038compliant.

  • New autodie module

    Replace functions with ones that succeed or die withlexical scope.

    use autodie;open(my $fh,

  • qr// overloading

    Since REGEXPs are rst-class objects now, it seemsappropriate that they should have an overloadedconversion of their very own. e overload needs toreturn either a ref to a REGEXP (a qr//) or a bareREGEXP.Used by Regexp::Grammars

  • Pluggable keywords

    Extension modules can now cleanly hook into thePerl parser to dene new kinds of keyword-headedexpression 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;

  • More features

    N experimental regex escapeAPIs for more internals (Lexical::Import)Overridable function lookupA proper interface for pluggable Method ResolutionOrdersDTrace supporteach is now more exiblewhen as a statement modierEnabling warnings from your shell environmentdelete localNew support for Abstract namespace sockets32-bit limit on substr arguments removed

  • More features (2)

    @INC order changeREGEXPs are now rst classSwitch statement changesSmart match changessuidperl is no longer part of PerlDeprecations warn by defaultDeprecated modules: Class::ISA, Pod::Plainer, Shell,Switch + Perl 4 .pl les

  • More features (3)

    More speedLess memoryFewer bugsStill compatible

  • Development releases to come

    2010-08-20 Perl 5.13.4 Florian Ragwitz2010-08-20 Perl 5.12.2 Jesse Vincent2010-09-20 Perl 5.13.5 Steve Hay2010-10-20 Perl 5.13.6 Tatsuhiko Miyagawa2010-11-20 Perl 5.13.7 Chris Williams

  • Leading to . . .

    2010-12-20 Contentious change freeze2011-02-20 User-visible change freeze2011-03-20 Hard freeze2011-04-20 Perl 5.14

  • anks

    Use Perl 5.12 now!Any questions?

  • en. . .

    Coee break until 12:00Tomorrow: London.pm August Social, Piazza delleVettovaglie