what's new in perl 5.12?
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