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

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 worksRuby Bangladesh
 
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 IronrubyAlessandro Binhara
 
Hachioji.pm in Machida の LT
Hachioji.pm in Machida の LTHachioji.pm in Machida の LT
Hachioji.pm in Machida の LTMasahiro Honma
 
Code Reading
Code ReadingCode Reading
Code ReadingEddie Kao
 
Ruby 3の型解析に向けた計画
Ruby 3の型解析に向けた計画Ruby 3の型解析に向けた計画
Ruby 3の型解析に向けた計画mametter
 
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 3mametter
 
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
 
The Sincerest Form of Flattery
The Sincerest Form of FlatteryThe Sincerest Form of Flattery
The Sincerest Form of FlatteryJosé Paumard
 
The Sincerest Form of Flattery
The Sincerest Form of FlatteryThe Sincerest Form of Flattery
The Sincerest Form of FlatteryJosé Paumard
 
Ruby for Java Developers
Ruby for Java DevelopersRuby for Java Developers
Ruby for Java DevelopersRobert Reiz
 
Rockit: A Parser Generator for Ruby
Rockit: A Parser Generator for RubyRockit: A Parser Generator for Ruby
Rockit: A Parser Generator for RubyJason Morrison
 
The bytecode mumbo-jumbo
The bytecode mumbo-jumboThe bytecode mumbo-jumbo
The bytecode mumbo-jumboRaimon Ràfols
 
Python Compiler Internals Presentation Slides
Python Compiler Internals Presentation SlidesPython Compiler Internals Presentation Slides
Python Compiler Internals Presentation SlidesTom Lee
 
Inside Python [OSCON 2012]
Inside Python [OSCON 2012]Inside Python [OSCON 2012]
Inside Python [OSCON 2012]Tom Lee
 
Inside PHP [OSCON 2012]
Inside PHP [OSCON 2012]Inside PHP [OSCON 2012]
Inside PHP [OSCON 2012]Tom Lee
 

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

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.2010Pham Ngoc Quang
 
How to quad boot a macbook
How to quad boot a macbookHow to quad boot a macbook
How to quad boot a macbookfosk
 
AutoriõIgused
AutoriõIgusedAutoriõIgused
AutoriõIgusedterje1
 
Induction talk year 4 2014
Induction talk year 4 2014Induction talk year 4 2014
Induction talk year 4 2014Tony McNeill
 
infrakrasnoe izluchenie
infrakrasnoe izluchenieinfrakrasnoe izluchenie
infrakrasnoe izluchenieviktoriya71
 
Polygons
PolygonsPolygons
Polygonspotc
 
Open Knowledge Beyond Wikipedia -- governance
Open Knowledge Beyond Wikipedia -- governanceOpen Knowledge Beyond Wikipedia -- governance
Open Knowledge Beyond Wikipedia -- governanceSimon Grant
 
STEKLO V PROIZVEDENIYAH ISKUSSTVA
STEKLO V PROIZVEDENIYAH ISKUSSTVASTEKLO V PROIZVEDENIYAH ISKUSSTVA
STEKLO V PROIZVEDENIYAH ISKUSSTVAviktoriya71
 
Hinduism presentation
Hinduism presentationHinduism presentation
Hinduism presentationYi-Chi Tang
 
Tux
TuxTux
Tuxilsh
 
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.2010Pham Ngoc Quang
 
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 khacPham Ngoc Quang
 
Hangibasbakan
HangibasbakanHangibasbakan
Hangibasbakanmillitrk
 

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.10
Perl 5.10Perl 5.10
Perl 5.10acme
 
Perl Myths 200909
Perl Myths 200909Perl Myths 200909
Perl Myths 200909Tim Bunce
 
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)Tim Bunce
 
Perl 5.16 and beyond
Perl 5.16 and beyondPerl 5.16 and beyond
Perl 5.16 and beyondJesse Vincent
 
What we can learn from Rebol?
What we can learn from Rebol?What we can learn from Rebol?
What we can learn from Rebol?lichtkind
 
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?lichtkind
 
CPANTS: Kwalitative website and its tools
CPANTS: Kwalitative website and its toolsCPANTS: Kwalitative website and its tools
CPANTS: Kwalitative website and its toolscharsbar
 
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 2011Jesse Vincent
 
Sinatra: прошлое, будущее и настоящее
Sinatra: прошлое, будущее и настоящееSinatra: прошлое, будущее и настоящее
Sinatra: прошлое, будущее и настоящее.toster
 
これからのPerlプロダクトのかたち(YAPC::Asia 2013)
これからのPerlプロダクトのかたち(YAPC::Asia 2013)これからのPerlプロダクトのかたち(YAPC::Asia 2013)
これからのPerlプロダクトのかたち(YAPC::Asia 2013)goccy
 
Perl6 for-beginners
Perl6 for-beginnersPerl6 for-beginners
Perl6 for-beginnersJens Rehsack
 
Enterprise Perl
Enterprise PerlEnterprise Perl
Enterprise PerlDave Cross
 

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

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/3acme
 
Fallacies of distributed computing
Fallacies of distributed computingFallacies of distributed computing
Fallacies of distributed computingacme
 
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 moduleacme
 
Fewer cables
Fewer cablesFewer cables
Fewer cablesacme
 
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 aboutacme
 
Searching CPAN Offline
Searching CPAN OfflineSearching CPAN Offline
Searching CPAN Offlineacme
 
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 aboutacme
 
Living in the cloud
Living in the cloudLiving in the cloud
Living in the cloudacme
 
Living In The Cloud
Living In The CloudLiving In The Cloud
Living In The Cloudacme
 
Scaling with memcached
Scaling with memcachedScaling with memcached
Scaling with memcachedacme
 
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?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

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 

Recently uploaded (20)

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 

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