SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

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
 

Tendances (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]
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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
 

Plus de 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
 

Plus de 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?
 

Dernier

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 Scriptwesley chun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
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...Drew Madelung
 
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 AutomationSafe Software
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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.pptxEarley Information Science
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
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 2024The Digital Insurer
 
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 Nanonetsnaman860154
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
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...Martijn de Jong
 
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 RobisonAnna Loughnan Colquhoun
 
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 MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
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...Neo4j
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 

Dernier (20)

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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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...
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
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...
 
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
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
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...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 

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