If you can't read please download the document
Upload
acme
View
4.094
Download
1
Embed Size (px)
Citation preview
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