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

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 Overlordsheumann
 
2010/7/31 LTの虎@LL Tiger
2010/7/31 LTの虎@LL Tiger2010/7/31 LTの虎@LL Tiger
2010/7/31 LTの虎@LL TigerAkihiro Okuno
 
Nigel hamilton-megameet-2013
Nigel hamilton-megameet-2013Nigel hamilton-megameet-2013
Nigel hamilton-megameet-2013trexy
 
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 perl6Nobuo Danjou
 
Whatsnew in-perl
Whatsnew in-perlWhatsnew in-perl
Whatsnew in-perldaoswald
 
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) Puppet
 
Yapc::NA::2009 - Command Line Perl
Yapc::NA::2009 - Command Line PerlYapc::NA::2009 - Command Line Perl
Yapc::NA::2009 - Command Line PerlBruce Gray
 
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
 
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.Workhorse Computing
 
Perl 6 in Context
Perl 6 in ContextPerl 6 in Context
Perl 6 in Contextlichtkind
 
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
 
Keeping objects healthy with Object::Exercise.
Keeping objects healthy with Object::Exercise.Keeping objects healthy with Object::Exercise.
Keeping objects healthy with Object::Exercise.Workhorse Computing
 
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.Workhorse Computing
 
Vim Script Programming
Vim Script ProgrammingVim Script Programming
Vim Script ProgrammingLin Yo-An
 
PHP Tips for certification - OdW13
PHP Tips for certification - OdW13PHP Tips for certification - OdW13
PHP Tips for certification - OdW13julien pauli
 
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 VeronaPatrick Allaert
 

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

Competence structures and portfolio tools
Competence structures and portfolio toolsCompetence structures and portfolio tools
Competence structures and portfolio toolsSimon Grant
 
Lemill
LemillLemill
Lemillterje1
 
Independent Mobile Portal Solution
Independent Mobile Portal SolutionIndependent Mobile Portal Solution
Independent Mobile Portal SolutionLatte Media
 
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 rollOyvind Solstad
 
Hvordan bruker du QR-koder smart?
Hvordan bruker du QR-koder smart?Hvordan bruker du QR-koder smart?
Hvordan bruker du QR-koder smart?Oyvind Solstad
 
Flowers! Lots of them!
Flowers! Lots of them!Flowers! Lots of them!
Flowers! Lots of them!kalpik
 
Mashups - webforum 2009 (Øyvind Solstad)
Mashups - webforum 2009 (Øyvind Solstad)Mashups - webforum 2009 (Øyvind Solstad)
Mashups - webforum 2009 (Øyvind Solstad)Oyvind 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?Simon Grant
 
Living in the cloud
Living in the cloudLiving in the cloud
Living in the cloudacme
 
Cumhurbaşkanı Seçmek
Cumhurbaşkanı SeçmekCumhurbaşkanı Seçmek
Cumhurbaşkanı Seçmekmillitrk
 
太平天國專題報告 – Week 1 version 1001
太平天國專題報告 – Week 1 version 1001太平天國專題報告 – Week 1 version 1001
太平天國專題報告 – Week 1 version 1001Yi-Chi Tang
 
Deprivileging The Digital
Deprivileging The DigitalDeprivileging The Digital
Deprivileging The DigitalTony McNeill
 

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

Php Crash Course - Macq Electronique 2010
Php Crash Course - Macq Electronique 2010Php Crash Course - Macq Electronique 2010
Php Crash Course - Macq Electronique 2010Michelangelo van Dam
 
Introduction to Perl
Introduction to PerlIntroduction to Perl
Introduction to Perlworr1244
 
Zend Certification Preparation Tutorial
Zend Certification Preparation TutorialZend Certification Preparation Tutorial
Zend Certification Preparation TutorialLorna Mitchell
 
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?acme
 
Introduction to Modern Perl
Introduction to Modern PerlIntroduction to Modern Perl
Introduction to Modern PerlDave Cross
 
A Brief Intro to Scala
A Brief Intro to ScalaA Brief Intro to Scala
A Brief Intro to ScalaTim Underwood
 
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 NeedsRoy Zimmer
 
name name2 n
name name2 nname name2 n
name name2 ncallroom
 
name name2 n2
name name2 n2name name2 n2
name name2 n2callroom
 
name name2 n
name name2 nname name2 n
name name2 ncallroom
 
name name2 n
name name2 nname name2 n
name name2 ncallroom
 
name name2 n2.ppt
name name2 n2.pptname name2 n2.ppt
name name2 n2.pptcallroom
 

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

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

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

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 SolutionsEnterprise Knowledge
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
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
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
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 interpreternaman860154
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
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
 

Dernier (20)

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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
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...
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
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
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
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
 

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