SlideShare a Scribd company logo
1 of 31
Download to read offline
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
 Now leader of London.pm
 Started YAPC::Europe
 Entrepreneur
 perl hacker
What?



 Perl


 perl
Releases



     -   -   Perl
     -   -   Perl
     -   -   Perl
     -   -   Perl
     -   -   Perl
Major releases
     -   -   Perl
     -   -   Perl   .
     -   -   Perl   .
     -   -   Perl   .
     -   -   Perl   .
     -   -   Perl   .
     -   -   Perl   .   .
     -   -   Perl   .   .
     -   -   Perl   .       .
     -   -   Perl   .       .
     -   -   Perl   .       .
     -   -   Perl   .       .
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
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”
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
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)
Perl . .



  Perl . . represents approximately two years of
  development since version . . and contains over
     ,    lines of changes across over ,   les from
  over     authors.
Perl . .



  Perl . . represents approximately four weeks of
  development since Perl . . and contains
  approximately ,     lines of changes across     les
  from authors.
Perl . .



  Perl . . represents approximately one month of
  development since Perl . . and contains ,
  lines of changes across   les from    authors.
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 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"]
   */
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, 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.
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, ’<’, ’missing’);
  # Can’t open ’missing’ for reading: ’No such
  # file or directory’ at ./play.pl line 6
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
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;
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
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
More features ( )



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



     -   -   Perl   .   .   – Florian Ragwitz
     -   -   Perl   .   .   – Jesse Vincent
     -   -   Perl   .   .   – Steve Hay
     -   -   Perl   .   .   – Tatsuhiko Miyagawa
     -   -   Perl   .   .   – Chris Williams
Leading to . . .



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




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



Co ee break until :
Tomorrow: London.pm August Social, Piazza delle
Vettovaglie

More Related Content

What's hot

Chronicler: Lightweight Recording to Reproduce Field Failures (Presented at I...
Chronicler: Lightweight Recording to Reproduce Field Failures (Presented at I...Chronicler: Lightweight Recording to Reproduce Field Failures (Presented at I...
Chronicler: Lightweight Recording to Reproduce Field Failures (Presented at I...
jon_bell
 

What's hot (18)

RubyConf Bangladesh 2017 - Core Ruby: How it works
RubyConf Bangladesh 2017 - Core Ruby: How it worksRubyConf Bangladesh 2017 - Core Ruby: How it works
RubyConf Bangladesh 2017 - Core Ruby: How it works
 
Semana Interop: Trabalhando com IronPython e com Ironruby
Semana Interop: Trabalhando com IronPython e com IronrubySemana Interop: Trabalhando com IronPython e com Ironruby
Semana Interop: Trabalhando com IronPython e com Ironruby
 
Hachioji.pm in Machida の LT
Hachioji.pm in Machida の LTHachioji.pm in Machida の LT
Hachioji.pm in Machida の LT
 
Code Reading
Code ReadingCode Reading
Code Reading
 
Ruby 3の型解析に向けた計画
Ruby 3の型解析に向けた計画Ruby 3の型解析に向けた計画
Ruby 3の型解析に向けた計画
 
Type Profiler: Ambitious Type Inference for Ruby 3
Type Profiler: Ambitious Type Inference for Ruby 3Type Profiler: Ambitious Type Inference for Ruby 3
Type Profiler: Ambitious Type Inference for Ruby 3
 
Chronicler: Lightweight Recording to Reproduce Field Failures (Presented at I...
Chronicler: Lightweight Recording to Reproduce Field Failures (Presented at I...Chronicler: Lightweight Recording to Reproduce Field Failures (Presented at I...
Chronicler: Lightweight Recording to Reproduce Field Failures (Presented at I...
 
The Sincerest Form of Flattery
The Sincerest Form of FlatteryThe Sincerest Form of Flattery
The Sincerest Form of Flattery
 
The Sincerest Form of Flattery
The Sincerest Form of FlatteryThe Sincerest Form of Flattery
The Sincerest Form of Flattery
 
Php extensions
Php extensionsPhp extensions
Php extensions
 
Ruby for Java Developers
Ruby for Java DevelopersRuby for Java Developers
Ruby for Java Developers
 
Rockit: A Parser Generator for Ruby
Rockit: A Parser Generator for RubyRockit: A Parser Generator for Ruby
Rockit: A Parser Generator for Ruby
 
HackIM 2012 CTF Walkthrough
HackIM 2012 CTF WalkthroughHackIM 2012 CTF Walkthrough
HackIM 2012 CTF Walkthrough
 
The bytecode mumbo-jumbo
The bytecode mumbo-jumboThe bytecode mumbo-jumbo
The bytecode mumbo-jumbo
 
Cryptocurrency && Ruby
Cryptocurrency && RubyCryptocurrency && Ruby
Cryptocurrency && Ruby
 
Python Compiler Internals Presentation Slides
Python Compiler Internals Presentation SlidesPython Compiler Internals Presentation Slides
Python Compiler Internals Presentation Slides
 
Inside Python [OSCON 2012]
Inside Python [OSCON 2012]Inside Python [OSCON 2012]
Inside Python [OSCON 2012]
 
Inside PHP [OSCON 2012]
Inside PHP [OSCON 2012]Inside PHP [OSCON 2012]
Inside PHP [OSCON 2012]
 

Viewers also liked

AutoriõIgused
AutoriõIgusedAutoriõIgused
AutoriõIgused
terje1
 
Induction talk year 4 2014
Induction talk year 4 2014Induction talk year 4 2014
Induction talk year 4 2014
Tony McNeill
 
infrakrasnoe izluchenie
infrakrasnoe izluchenieinfrakrasnoe izluchenie
infrakrasnoe izluchenie
viktoriya71
 
Polygons
PolygonsPolygons
Polygons
potc
 
STEKLO V PROIZVEDENIYAH ISKUSSTVA
STEKLO V PROIZVEDENIYAH ISKUSSTVASTEKLO V PROIZVEDENIYAH ISKUSSTVA
STEKLO V PROIZVEDENIYAH ISKUSSTVA
viktoriya71
 
Hinduism presentation
Hinduism presentationHinduism presentation
Hinduism presentation
Yi-Chi Tang
 
5. ke toan cac khoan phai thu phai thu noi bo va phai thu khac
5. ke toan cac khoan phai thu   phai thu noi bo va phai thu khac5. ke toan cac khoan phai thu   phai thu noi bo va phai thu khac
5. ke toan cac khoan phai thu phai thu noi bo va phai thu khac
Pham Ngoc Quang
 

Viewers also liked (20)

TANET - Hoa don chung tu - 07.2010
TANET - Hoa don chung tu  - 07.2010TANET - Hoa don chung tu  - 07.2010
TANET - Hoa don chung tu - 07.2010
 
How to quad boot a macbook
How to quad boot a macbookHow to quad boot a macbook
How to quad boot a macbook
 
AutoriõIgused
AutoriõIgusedAutoriõIgused
AutoriõIgused
 
Induction talk year 4 2014
Induction talk year 4 2014Induction talk year 4 2014
Induction talk year 4 2014
 
Blogging 101
Blogging 101Blogging 101
Blogging 101
 
infrakrasnoe izluchenie
infrakrasnoe izluchenieinfrakrasnoe izluchenie
infrakrasnoe izluchenie
 
Polygons
PolygonsPolygons
Polygons
 
Open Knowledge Beyond Wikipedia -- governance
Open Knowledge Beyond Wikipedia -- governanceOpen Knowledge Beyond Wikipedia -- governance
Open Knowledge Beyond Wikipedia -- governance
 
STEKLO V PROIZVEDENIYAH ISKUSSTVA
STEKLO V PROIZVEDENIYAH ISKUSSTVASTEKLO V PROIZVEDENIYAH ISKUSSTVA
STEKLO V PROIZVEDENIYAH ISKUSSTVA
 
Presentatie Toll-net
Presentatie Toll-netPresentatie Toll-net
Presentatie Toll-net
 
Love
LoveLove
Love
 
Tanet - Thue GTGT
Tanet - Thue GTGTTanet - Thue GTGT
Tanet - Thue GTGT
 
Hinduism presentation
Hinduism presentationHinduism presentation
Hinduism presentation
 
La boca del infierno
La boca del infiernoLa boca del infierno
La boca del infierno
 
Tux
TuxTux
Tux
 
TANET - Nhung van de chung ve quan ly thue - 07.2010
TANET - Nhung van de chung ve quan ly thue -  07.2010TANET - Nhung van de chung ve quan ly thue -  07.2010
TANET - Nhung van de chung ve quan ly thue - 07.2010
 
5. ke toan cac khoan phai thu phai thu noi bo va phai thu khac
5. ke toan cac khoan phai thu   phai thu noi bo va phai thu khac5. ke toan cac khoan phai thu   phai thu noi bo va phai thu khac
5. ke toan cac khoan phai thu phai thu noi bo va phai thu khac
 
Hangibasbakan
HangibasbakanHangibasbakan
Hangibasbakan
 
Education IPTV
Education IPTVEducation IPTV
Education IPTV
 
Tiny
TinyTiny
Tiny
 

Similar to What's new in Perl 5.12?

Perl 5.16 and Beyond - YAPC::Asia 2011
Perl 5.16 and Beyond - YAPC::Asia 2011Perl 5.16 and Beyond - YAPC::Asia 2011
Perl 5.16 and Beyond - YAPC::Asia 2011
Jesse Vincent
 
これからのPerlプロダクトのかたち(YAPC::Asia 2013)
これからのPerlプロダクトのかたち(YAPC::Asia 2013)これからのPerlプロダクトのかたち(YAPC::Asia 2013)
これからのPerlプロダクトのかたち(YAPC::Asia 2013)
goccy
 

Similar to What's new in Perl 5.12? (20)

Perl 5.10
Perl 5.10Perl 5.10
Perl 5.10
 
Perl Myths 200909
Perl Myths 200909Perl Myths 200909
Perl Myths 200909
 
Perl Myths 200802 with notes (OUTDATED, see 200909)
Perl Myths 200802 with notes (OUTDATED, see 200909)Perl Myths 200802 with notes (OUTDATED, see 200909)
Perl Myths 200802 with notes (OUTDATED, see 200909)
 
Yapc2012
Yapc2012Yapc2012
Yapc2012
 
Perl 5.16 and beyond
Perl 5.16 and beyondPerl 5.16 and beyond
Perl 5.16 and beyond
 
What we can learn from Rebol?
What we can learn from Rebol?What we can learn from Rebol?
What we can learn from Rebol?
 
Was können wir von Rebol lernen?
Was können wir von Rebol lernen?Was können wir von Rebol lernen?
Was können wir von Rebol lernen?
 
Perl 101
Perl 101Perl 101
Perl 101
 
Introduction to Perl
Introduction to PerlIntroduction to Perl
Introduction to Perl
 
CPANTS: Kwalitative website and its tools
CPANTS: Kwalitative website and its toolsCPANTS: Kwalitative website and its tools
CPANTS: Kwalitative website and its tools
 
Theperlreview
TheperlreviewTheperlreview
Theperlreview
 
Perl 5.16 and Beyond - YAPC::Asia 2011
Perl 5.16 and Beyond - YAPC::Asia 2011Perl 5.16 and Beyond - YAPC::Asia 2011
Perl 5.16 and Beyond - YAPC::Asia 2011
 
Sinatra: прошлое, будущее и настоящее
Sinatra: прошлое, будущее и настоящееSinatra: прошлое, будущее и настоящее
Sinatra: прошлое, будущее и настоящее
 
これからのPerlプロダクトのかたち(YAPC::Asia 2013)
これからのPerlプロダクトのかたち(YAPC::Asia 2013)これからのPerlプロダクトのかたち(YAPC::Asia 2013)
これからのPerlプロダクトのかたち(YAPC::Asia 2013)
 
Perl6 for-beginners
Perl6 for-beginnersPerl6 for-beginners
Perl6 for-beginners
 
Code rippa
Code rippaCode rippa
Code rippa
 
Enterprise Perl
Enterprise PerlEnterprise Perl
Enterprise Perl
 
perl
perlperl
perl
 
perl
perlperl
perl
 
Perl Moderno
Perl ModernoPerl Moderno
Perl Moderno
 

More from acme

More from acme (11)

HTTP/1, HTTP/2 and HTTP/3
HTTP/1, HTTP/2 and HTTP/3HTTP/1, HTTP/2 and HTTP/3
HTTP/1, HTTP/2 and HTTP/3
 
Fallacies of distributed computing
Fallacies of distributed computingFallacies of distributed computing
Fallacies of distributed computing
 
How CPAN Testers helped me improve my module
How CPAN Testers helped me improve my moduleHow CPAN Testers helped me improve my module
How CPAN Testers helped me improve my module
 
Fewer cables
Fewer cablesFewer cables
Fewer cables
 
Ten modules I haven't yet talked about
Ten modules I haven't yet talked aboutTen modules I haven't yet talked about
Ten modules I haven't yet talked about
 
Searching CPAN Offline
Searching CPAN OfflineSearching CPAN Offline
Searching CPAN Offline
 
Ten modules I haven't yet talked about
Ten modules I haven't yet talked aboutTen modules I haven't yet talked about
Ten modules I haven't yet talked about
 
Living in the cloud
Living in the cloudLiving in the cloud
Living in the cloud
 
Living In The Cloud
Living In The CloudLiving In The Cloud
Living In The Cloud
 
Scaling with memcached
Scaling with memcachedScaling with memcached
Scaling with memcached
 
What's new in Perl 5.10?
What's new in Perl 5.10?What's new in Perl 5.10?
What's new in Perl 5.10?
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 

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
  • 4. Releases - - Perl - - Perl - - Perl - - Perl - - Perl
  • 5. Major releases - - Perl - - Perl . - - Perl . - - Perl . - - Perl . - - Perl . - - Perl . . - - Perl . . - - Perl . . - - Perl . . - - Perl . . - - Perl . .
  • 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. 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.
  • 14. Perl . Smart matching given / when Named captures State variables De ned-or say ...
  • 15. Perl . new features
  • 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.
  • 19. Implicit strictures use 5.12.0; # means: use strict; use feature ’:5.12’;
  • 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 .
  • 30. anks Use Perl . now! Any questions?
  • 31. en. . . Co ee break until : Tomorrow: London.pm August Social, Piazza delle Vettovaglie