SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
Perl .

      Léon Brocard


London Perl Workshop
Me


 Léon Brocard
 French, live in London
 Like food
 Like the colour orange
 Founded Amsterdam.pm, Bath.pm, Croydon.pm
 Now leader of London.pm
 Started YAPC::Europe
 perl hacker
Releases


      -   -   Perl
      -   -   Perl
      -   -   Perl
      -   -   Perl
      -   -   Perl
  ...
  Perl is years old
  Perl is years old
Perl releases

     -   -   Perl
     -   -   Perl   .
     -   -   Perl   .
     -   -   Perl   .
     -   -   Perl   .
     -   -   Perl   .
     -   -   Perl   .   .
     -   -   Perl   .   .
     -   -   Perl   .       .
     -   -   Perl   .       .
Perl .   New features
Perl .     New feature



  use   feature ’say’;
  use   feature ’state’;
  use   feature ’switch’;
  ...
  use   feature ’:5.10’;
Say operator



  Just like print, but implicitly appends a newline
  use feature ’say’;
  say ’Hello!’;
State operator



  Persistent private variables
  use feature ’state’;
  sub gimme_another { state $x; return ++$x }
Smart match operator



  $a ~~   /foo/
  @a ~~   /foo/
  $a ~~   @b
  $a ~~   %b
  ...
Switch and smart match operator


  use feature ’switch’;
  given ($foo) {
    when (/^abc/) { $abc   = 1; }
    when (/^def/) { $def   = 1; }
    when (/^xyz/) { $xyz   = 1; }
    default { $nothing =   1; }
  }
Switch and smart match operator
  use feature ":5.10";
  given($foo) {
    when (undef) { say ’$foo is undefined’; }
    when ("foo") {
      say ’$foo is the string "foo"’;
    }
    when ([1,3,5,7,9]) {
      say ’$foo is an odd digit’;
      continue; # Fall through
    }
    when ($_ < 100) { say ’< 100’; }
    when (&complicated_check) {
      say ’a complicated check for $foo is true’;
    }
    default { die ’Eeeeek’; }
  }
De ned-or operator



  $a // $b
  defined $a ? $a : $b

  $c //= $d;
  $c = $d unless defined $c;
Regular expressions


  Recursive patterns
  Named capture bu ers
  Possessive quanti ers
  Backtracking control verbs
  Relative backreferences
  Vertical and horizontal whitespace, and linebreak
Named capture bu ers

  use feature ’say’;
  my $time = ’Time: 01:02:03’;

  if ($time =~ /Time:s(d+):(d+):(d+)/) {
    say "$1 / $2 / $3";
  }

  if ($time =~ /Time:s(?<hours>d+):
    (?<minutes>d+):(?<seconds>d+)/x) {
    say "$+{hours} / $+{minutes} / $+{seconds}";
  }
New modules

 Archive::Extract, Archive::Tar,
 Compress::Zlib, CPANPLUS, Digest::SHA,
 encoding::warnings, ExtUtils::CBuilder,
 ExtUtils::ParseXS, File::Fetch,
 Hash::Util::FieldHash, IO::Zlib, IPC::Cmd,
 Locale::Maketext::Simple, Log::Message,
 Log::Message::Simple, Math::BigInt::FastCalc,
 Module::Build, Module::CoreList, Module::Load,
 Module::Load::Conditional, Module::Loaded,
 Module::Pluggable, Object::Accessor,
 Package::Constants, Params::Check,
 Pod::Escapes, Pod::Simple, Term::UI,
 Time::Piece, Win32API::File.
New documentation


 perlpragma — How to write a user pragma
 perlglossary — Perl Glossary
 perlreguts — Regular expression engine internals
 perlreapi — Regular expression plugin interface
 perlunitut — Perl Unicode Tutorial
 perlunifaq — Perl Unicode FAQ
 perlcommunity — Overview of the Perl community
 CORE — Pseudo-namespace for Perl’s core routines
Performance enhancements

  In-place sorting
  Lexical array access
  XS-assisted SWASHGET
  Constant subroutines
  PERL_DONT_CREATE_GVSV
  Weak references are cheaper
  sort() enhancements
  Memory optimisations
  UTF- cache optimisation
  Sloppy stat on Windows
  Regular expressions optimisations
Deprecations



  Pseudo-hashes have been removed
  Removal of the bytecode compiler and of perlcc
  Removal of the JPL
Other

  Lexical $_, _ prototype, UNITCHECK blocks, mro pragma,
  readpipe() is now overridable, default argument for
  readline(), UNIVERSAL::DOES(), formats, byte-order
  modi ers for pack() and unpack(), no VERSION,
  chdir, chmod, chown on lehandles, OS groups, recursive
  sort subs, exceptions in constant folding, source lters in @INC,
  new internal variables, UCD . . , Miscellaneous Attribute
  Decoration, con guration improvements, compilation
  improvements, relocatable installations, nicer internals
  bison-based parser . . .
Perl . .




  Many bug xes: @_
  Optimised internals: isa()
New features, modules



  DTrace support
  autodie
  Compress::Raw::Bzip
  parent
  Parse::CPAN::Meta
Platform updates

  AIX
  Cygwin
  FreeBSD
  Irix
  Haiku
  MirOS BSD
  NetBSD
  Stratus VOS
  Symbian
  Win
  VMS
Feature tweaks



  given/when
  switch
  smart match
Deprecations




  Switch
  suidperl
Internal changes




  Moved from Perforce to Git
  Changed directory structure
Better quotes




     e J.R.R. Tolkien quotes at the head of each C source
   le have been checked and proper citations added
More tests


  Perl    .     ,     core tests
  (+     ,      more for bundled libraries)
  Perl    . .       ,    core tests
  (+        ,     more for bundled libraries)
  Perl    . .      ,    core tests
  (+        ,   more for bundled libraries)
Recent past and future


  Perl   .   .   : Léon Brocard on Nov ,
  Perl   .   .   : Jesse Vincent on Dec ,
  Perl   .   .   : Ricardo Signes on Jan ,
  Perl   .   .   : Steve Hay on Feb ,
  Perl   .   .   : Ask Bjørn Hansen on Mar   ,
  ...
  Perl   . : Jesse Vincent early
Use Perl .         now!



  Perl   .   is faster
  Perl   .   uses less memory
  Perl   .   has more features
  Perl   .   is backwards compatible

Contenu connexe

Tendances

plackdo, plack-like web interface on perl6
plackdo, plack-like web interface on perl6plackdo, plack-like web interface on perl6
plackdo, plack-like web interface on perl6
Nobuo Danjou
 
Good Evils In Perl (Yapc Asia)
Good Evils In Perl (Yapc Asia)Good Evils In Perl (Yapc Asia)
Good Evils In Perl (Yapc Asia)
Kang-min Liu
 
Vim Script Programming
Vim Script ProgrammingVim Script Programming
Vim Script Programming
Lin Yo-An
 
PHP Tips for certification - OdW13
PHP Tips for certification - OdW13PHP Tips for certification - OdW13
PHP Tips for certification - OdW13
julien pauli
 

Tendances (20)

I, For One, Welcome Our New Perl6 Overlords
I, For One, Welcome Our New Perl6 OverlordsI, For One, Welcome Our New Perl6 Overlords
I, For One, Welcome Our New Perl6 Overlords
 
2010/7/31 LTの虎@LL Tiger
2010/7/31 LTの虎@LL Tiger2010/7/31 LTの虎@LL Tiger
2010/7/31 LTの虎@LL Tiger
 
Metadata-driven Testing
Metadata-driven TestingMetadata-driven Testing
Metadata-driven Testing
 
Nigel hamilton-megameet-2013
Nigel hamilton-megameet-2013Nigel hamilton-megameet-2013
Nigel hamilton-megameet-2013
 
plackdo, plack-like web interface on perl6
plackdo, plack-like web interface on perl6plackdo, plack-like web interface on perl6
plackdo, plack-like web interface on perl6
 
Whatsnew in-perl
Whatsnew in-perlWhatsnew in-perl
Whatsnew in-perl
 
Get your teeth into Plack
Get your teeth into PlackGet your teeth into Plack
Get your teeth into Plack
 
Puppet Camp Paris 2015: Power of Puppet 4 (Beginner)
Puppet Camp Paris 2015: Power of Puppet 4 (Beginner) Puppet Camp Paris 2015: Power of Puppet 4 (Beginner)
Puppet Camp Paris 2015: Power of Puppet 4 (Beginner)
 
Yapc::NA::2009 - Command Line Perl
Yapc::NA::2009 - Command Line PerlYapc::NA::2009 - Command Line Perl
Yapc::NA::2009 - Command Line Perl
 
Perl Basics for Pentesters Part 1
Perl Basics for Pentesters Part 1Perl Basics for Pentesters Part 1
Perl Basics for Pentesters Part 1
 
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?
 
The $path to knowledge: What little it take to unit-test Perl.
The $path to knowledge: What little it take to unit-test Perl.The $path to knowledge: What little it take to unit-test Perl.
The $path to knowledge: What little it take to unit-test Perl.
 
Perl 6 in Context
Perl 6 in ContextPerl 6 in Context
Perl 6 in Context
 
Good Evils In Perl (Yapc Asia)
Good Evils In Perl (Yapc Asia)Good Evils In Perl (Yapc Asia)
Good Evils In Perl (Yapc Asia)
 
Keeping objects healthy with Object::Exercise.
Keeping objects healthy with Object::Exercise.Keeping objects healthy with Object::Exercise.
Keeping objects healthy with Object::Exercise.
 
Perl basics for pentesters part 2
Perl basics for pentesters part 2Perl basics for pentesters part 2
Perl basics for pentesters part 2
 
Object Trampoline: Why having not the object you want is what you need.
Object Trampoline: Why having not the object you want is what you need.Object Trampoline: Why having not the object you want is what you need.
Object Trampoline: Why having not the object you want is what you need.
 
Vim Script Programming
Vim Script ProgrammingVim Script Programming
Vim Script Programming
 
PHP Tips for certification - OdW13
PHP Tips for certification - OdW13PHP Tips for certification - OdW13
PHP Tips for certification - OdW13
 
Create your own PHP extension, step by step - phpDay 2012 Verona
Create your own PHP extension, step by step - phpDay 2012 VeronaCreate your own PHP extension, step by step - phpDay 2012 Verona
Create your own PHP extension, step by step - phpDay 2012 Verona
 

En vedette

Lemill
LemillLemill
Lemill
terje1
 
太平天國專題報告 – Week 1 version 1001
太平天國專題報告 – Week 1 version 1001太平天國專題報告 – Week 1 version 1001
太平天國專題報告 – Week 1 version 1001
Yi-Chi Tang
 

En vedette (20)

Competence structures and portfolio tools
Competence structures and portfolio toolsCompetence structures and portfolio tools
Competence structures and portfolio tools
 
Camino del hotel
Camino del hotelCamino del hotel
Camino del hotel
 
Lemill
LemillLemill
Lemill
 
Independent Mobile Portal Solution
Independent Mobile Portal SolutionIndependent Mobile Portal Solution
Independent Mobile Portal Solution
 
Being connected is the new rock'n roll
Being connected is the new rock'n rollBeing connected is the new rock'n roll
Being connected is the new rock'n roll
 
Cases for IPTV
Cases for IPTVCases for IPTV
Cases for IPTV
 
Hvordan bruker du QR-koder smart?
Hvordan bruker du QR-koder smart?Hvordan bruker du QR-koder smart?
Hvordan bruker du QR-koder smart?
 
Flowers! Lots of them!
Flowers! Lots of them!Flowers! Lots of them!
Flowers! Lots of them!
 
Open Standards
Open StandardsOpen Standards
Open Standards
 
Nevada
NevadaNevada
Nevada
 
Mashups - webforum 2009 (Øyvind Solstad)
Mashups - webforum 2009 (Øyvind Solstad)Mashups - webforum 2009 (Øyvind Solstad)
Mashups - webforum 2009 (Øyvind Solstad)
 
Cohousing: balancing environmental and social sustainability?
Cohousing: balancing environmental and social sustainability?Cohousing: balancing environmental and social sustainability?
Cohousing: balancing environmental and social sustainability?
 
Living in the cloud
Living in the cloudLiving in the cloud
Living in the cloud
 
Cumhurbaşkanı Seçmek
Cumhurbaşkanı SeçmekCumhurbaşkanı Seçmek
Cumhurbaşkanı Seçmek
 
PR30
PR30PR30
PR30
 
太平天國專題報告 – Week 1 version 1001
太平天國專題報告 – Week 1 version 1001太平天國專題報告 – Week 1 version 1001
太平天國專題報告 – Week 1 version 1001
 
Callejeando por la colina de San Jorge
Callejeando por la colina de San JorgeCallejeando por la colina de San Jorge
Callejeando por la colina de San Jorge
 
Deprivileging The Digital
Deprivileging The DigitalDeprivileging The Digital
Deprivileging The Digital
 
PARALLELEPIPED
PARALLELEPIPEDPARALLELEPIPED
PARALLELEPIPED
 
Morir Por La Piel
Morir Por La PielMorir Por La Piel
Morir Por La Piel
 

Similaire à Perl 5.10

Similaire à Perl 5.10 (20)

Perl basics for Pentesters
Perl basics for PentestersPerl basics for Pentesters
Perl basics for Pentesters
 
Php Crash Course - Macq Electronique 2010
Php Crash Course - Macq Electronique 2010Php Crash Course - Macq Electronique 2010
Php Crash Course - Macq Electronique 2010
 
Introduction to Perl
Introduction to PerlIntroduction to Perl
Introduction to Perl
 
Zend Certification Preparation Tutorial
Zend Certification Preparation TutorialZend Certification Preparation Tutorial
Zend Certification Preparation Tutorial
 
What's new in Perl 5.12?
What's new in Perl 5.12?What's new in Perl 5.12?
What's new in Perl 5.12?
 
Introduction to Modern Perl
Introduction to Modern PerlIntroduction to Modern Perl
Introduction to Modern Perl
 
A Brief Intro to Scala
A Brief Intro to ScalaA Brief Intro to Scala
A Brief Intro to Scala
 
Perl 101
Perl 101Perl 101
Perl 101
 
You Can Do It! Start Using Perl to Handle Your Voyager Needs
You Can Do It! Start Using Perl to Handle Your Voyager NeedsYou Can Do It! Start Using Perl to Handle Your Voyager Needs
You Can Do It! Start Using Perl to Handle Your Voyager Needs
 
ppt7
ppt7ppt7
ppt7
 
ppt2
ppt2ppt2
ppt2
 
name name2 n
name name2 nname name2 n
name name2 n
 
name name2 n2
name name2 n2name name2 n2
name name2 n2
 
test ppt
test ppttest ppt
test ppt
 
name name2 n
name name2 nname name2 n
name name2 n
 
ppt21
ppt21ppt21
ppt21
 
name name2 n
name name2 nname name2 n
name name2 n
 
ppt17
ppt17ppt17
ppt17
 
ppt30
ppt30ppt30
ppt30
 
name name2 n2.ppt
name name2 n2.pptname name2 n2.ppt
name name2 n2.ppt
 

Plus de acme

Plus de acme (10)

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
 
What's new In Perl?
What's new In Perl?What's new In Perl?
What's new In Perl?
 
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
 
Scaling with memcached
Scaling with memcachedScaling with memcached
Scaling with memcached
 

Dernier

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Dernier (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
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
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
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
 
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...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Perl 5.10

  • 1. Perl . Léon Brocard London Perl Workshop
  • 2. Me Léon Brocard French, live in London Like food Like the colour orange Founded Amsterdam.pm, Bath.pm, Croydon.pm Now leader of London.pm Started YAPC::Europe perl hacker
  • 3. Releases - - Perl - - Perl - - Perl - - Perl - - Perl ... Perl is years old Perl is years old
  • 4. Perl releases - - Perl - - Perl . - - Perl . - - Perl . - - Perl . - - Perl . - - Perl . . - - Perl . . - - Perl . . - - Perl . .
  • 5. Perl . New features
  • 6. Perl . New feature use feature ’say’; use feature ’state’; use feature ’switch’; ... use feature ’:5.10’;
  • 7. Say operator Just like print, but implicitly appends a newline use feature ’say’; say ’Hello!’;
  • 8. State operator Persistent private variables use feature ’state’; sub gimme_another { state $x; return ++$x }
  • 9. Smart match operator $a ~~ /foo/ @a ~~ /foo/ $a ~~ @b $a ~~ %b ...
  • 10. Switch and smart match operator use feature ’switch’; given ($foo) { when (/^abc/) { $abc = 1; } when (/^def/) { $def = 1; } when (/^xyz/) { $xyz = 1; } default { $nothing = 1; } }
  • 11. Switch and smart match operator use feature ":5.10"; given($foo) { when (undef) { say ’$foo is undefined’; } when ("foo") { say ’$foo is the string "foo"’; } when ([1,3,5,7,9]) { say ’$foo is an odd digit’; continue; # Fall through } when ($_ < 100) { say ’< 100’; } when (&complicated_check) { say ’a complicated check for $foo is true’; } default { die ’Eeeeek’; } }
  • 12. De ned-or operator $a // $b defined $a ? $a : $b $c //= $d; $c = $d unless defined $c;
  • 13. Regular expressions Recursive patterns Named capture bu ers Possessive quanti ers Backtracking control verbs Relative backreferences Vertical and horizontal whitespace, and linebreak
  • 14. Named capture bu ers use feature ’say’; my $time = ’Time: 01:02:03’; if ($time =~ /Time:s(d+):(d+):(d+)/) { say "$1 / $2 / $3"; } if ($time =~ /Time:s(?<hours>d+): (?<minutes>d+):(?<seconds>d+)/x) { say "$+{hours} / $+{minutes} / $+{seconds}"; }
  • 15. New modules Archive::Extract, Archive::Tar, Compress::Zlib, CPANPLUS, Digest::SHA, encoding::warnings, ExtUtils::CBuilder, ExtUtils::ParseXS, File::Fetch, Hash::Util::FieldHash, IO::Zlib, IPC::Cmd, Locale::Maketext::Simple, Log::Message, Log::Message::Simple, Math::BigInt::FastCalc, Module::Build, Module::CoreList, Module::Load, Module::Load::Conditional, Module::Loaded, Module::Pluggable, Object::Accessor, Package::Constants, Params::Check, Pod::Escapes, Pod::Simple, Term::UI, Time::Piece, Win32API::File.
  • 16. New documentation perlpragma — How to write a user pragma perlglossary — Perl Glossary perlreguts — Regular expression engine internals perlreapi — Regular expression plugin interface perlunitut — Perl Unicode Tutorial perlunifaq — Perl Unicode FAQ perlcommunity — Overview of the Perl community CORE — Pseudo-namespace for Perl’s core routines
  • 17. Performance enhancements In-place sorting Lexical array access XS-assisted SWASHGET Constant subroutines PERL_DONT_CREATE_GVSV Weak references are cheaper sort() enhancements Memory optimisations UTF- cache optimisation Sloppy stat on Windows Regular expressions optimisations
  • 18. Deprecations Pseudo-hashes have been removed Removal of the bytecode compiler and of perlcc Removal of the JPL
  • 19. Other Lexical $_, _ prototype, UNITCHECK blocks, mro pragma, readpipe() is now overridable, default argument for readline(), UNIVERSAL::DOES(), formats, byte-order modi ers for pack() and unpack(), no VERSION, chdir, chmod, chown on lehandles, OS groups, recursive sort subs, exceptions in constant folding, source lters in @INC, new internal variables, UCD . . , Miscellaneous Attribute Decoration, con guration improvements, compilation improvements, relocatable installations, nicer internals bison-based parser . . .
  • 20. Perl . . Many bug xes: @_ Optimised internals: isa()
  • 21. New features, modules DTrace support autodie Compress::Raw::Bzip parent Parse::CPAN::Meta
  • 22. Platform updates AIX Cygwin FreeBSD Irix Haiku MirOS BSD NetBSD Stratus VOS Symbian Win VMS
  • 23. Feature tweaks given/when switch smart match
  • 25. Internal changes Moved from Perforce to Git Changed directory structure
  • 26. Better quotes e J.R.R. Tolkien quotes at the head of each C source le have been checked and proper citations added
  • 27. More tests Perl . , core tests (+ , more for bundled libraries) Perl . . , core tests (+ , more for bundled libraries) Perl . . , core tests (+ , more for bundled libraries)
  • 28. Recent past and future Perl . . : Léon Brocard on Nov , Perl . . : Jesse Vincent on Dec , Perl . . : Ricardo Signes on Jan , Perl . . : Steve Hay on Feb , Perl . . : Ask Bjørn Hansen on Mar , ... Perl . : Jesse Vincent early
  • 29. Use Perl . now! Perl . is faster Perl . uses less memory Perl . has more features Perl . is backwards compatible