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.
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
What's new in Perl 5.12?
1. What’s new in Perl . ?
Léon Brocard
YAPC::Europe
Pisa, th August
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
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. 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. 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. Perl . .
Perl . . represents approximately two years of
development since version . . and contains over
, lines of changes across over , les from
over authors.
11. Perl . .
Perl . . represents approximately four weeks of
development since Perl . . and contains
approximately , lines of changes across les
from authors.
12. Perl . .
Perl . . represents approximately one month of
development since Perl . . and contains ,
lines of changes across les from authors.
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. New package NAME VERSION syntax
package Foo::Bar 1.23;
# equivalent to:
package Foo::Bar;
our $VERSION = ’1.23’;
18. Yada yada
sub unimplemented { ... }
unimplemented();
# Unimplemented at example.pl line 1.
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. Y compliance
Perl’s core time-related functions are now Y
compliant.
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. 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. 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. 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. 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. More features ( )
More speed
Less memory
Fewer bugs
Still compatible
28. Development releases to come
- - Perl . . – Florian Ragwitz
- - Perl . . – Jesse Vincent
- - Perl . . – Steve Hay
- - Perl . . – Tatsuhiko Miyagawa
- - Perl . . – Chris Williams
29. Leading to . . .
- - Contentious change freeze
- - User-visible change freeze
- - Hard freeze
- - Perl .