SlideShare ist ein Scribd-Unternehmen logo
1 von 302
Perl 5.16 and beyond
Jesse Vincent
jesse@perl.org
@obra
Recovering Perl 6
Project Manager
Recovering Perl 6
Project Manager
Perl 5 Pumpking
Perl 5 Pumpking
Perl 5 Pumpking
Perl 5 Pumpking


     http://flic.kr/p/6StRmB
Perl 5 Pumpking
What's a Pumpking?
BDFL
BDFL
BDFL
I make decisions
(the unpopular ones)
I delegate
(any real work)
I document
(process and policy)
I destress
(other people)
I’m a manager
So, who makes Perl?
Many awesome people
I just stand around
  looking pretty...
...while other people do
     awesome stuff
Is your name in Perl’s
  AUTHORS file?
Are you a
CPAN author?
You rock
You make Perl
The rules of
Perl Club
The REAL rules of
    Perl Club
commit e8cd7eae0498ecc1fd3801fe3160
Author: Gurusamy Sarathy <gsar@cpan.org>
Date:   Sun Oct 10 23:48:07 1999 +0000

add perlhack.pod from Nathan Torkington
<gnat@frii.com>
That predates
 Damian’s talk
Yes, I know he’s
   capable of
 time travel
Rule 1
Larry is always
 right about how
Perl should behave
Rule 2
Larry is allowed to
 change his mind
about any matter
 at a later date...
...regardless
   of whether
 he previously
invoked Rule 1
I’m not Larry
I’m nowhere
 near as clever
My shirts are
nowhere near
  as loud
My shirts are
nowhere near
  as loud
The rules aren’t
just for Larry
The rules aren’t
just for the Pumpking
The rules also apply
 to the Perl 5 core.
What?
Rule 1
Perl is always right!
(TMTOWTDI)
Rule 2
The Perl 5 core
is allowed to...
change its mind?
Changing our
minds is easy
We are very
 good at it
Not flailing wildly when
we do has been hard
...and leads to
  problems
at least I haven’t
  heard this
   in a while...
Perl is Dead !
Perl is Dead !1!!
Perl is Dead !1!!one!
What I’ve been
hearing lately...
Where are we going?
It’s changing too fast.
Can you slow down?
You made regexes
crazier? /$#@!/l?
smartmatch isn’t
named correctly...
we should call it
 psychoticmatch
Now that it’s undead,
can we rename it?
I’ve been accused
     of lacking a
vision for Perl 5
What I lack




is a flame-proof suit
              http://en.wikipedia.org/wiki/File:Dance_Dance_Immolation.jpg
What I lack
          pe
              rl5
                  -po
                        rt
                           e       rs


is a flame-proof suit
                      http://en.wikipedia.org/wiki/File:Dance_Dance_Immolation.jpg
If I’d talked about my
vision 2 years ago...
You would have
laughed at me
Improving Perl 5
did not matter
We couldn’t even
put out a new release
In the past year...
Five
 Stable
Releases
A dozen
development
  releases
In metric, that’s
1.2×10  1 releases
Perl 5.14.1 is the
current stable
release of Perl 5
It came out in June
...as did Perl 5.12.4
..as did Perl 5.15.0
(all of them came out
 the same week)
It used to take us
3 weeks to prepare
       a release
We made the
Pumpking do it
Now it takes
less than a day
The 43 step process is
   documented
We have rotating
release engineers
Many of them are
new committers
Release engineers
need commit bits
Since the switch to git,
we’ve nearly doubled
  our committer list
The world
hasn’t ended
Some of those release
engineers have become
 prolific contributors
Now that
releases
are easy...
A Vision for Perl 5
New versions of Perl 5
should not break
your existing software
Old syntax and
     semantics
 must not stop
Perl 5 from evolving
We need to be able to
 make mistakes
 as we rebuild Perl 5
We will
   make mistakes
as we rebuild Perl 5
We have
  made mistakes
as we’ve rebuilt Perl 5
We need to be able to
recover from mistakes
  as we rebuild Perl 5
The runtime is
too big and must be
   slimmed down
Perl should have
sane defaults
We need to be able to
 recover from last
year’s “sane defaults”
It should be possible
   to build more of
  Perl 5 in Perl 5
Perl should run
everywhere
Rule 2:
Perl is allowed to
 change its mind
That’s already true
That hurts programs
  and programmers
When your code runs,
 you have no idea
what semantics it’ll see
use v5.14;
“Can I have a Perl that’s
  5.14 or newer?”
“Anything newer than
  5.14.0 would be
      great!”
“Ok. I’m 5.30.
  Have fun!”
That is not useful
It needs to change
From now on, declare
  the version of Perl 5
      you expect
use v5.16;
“I want a Perl 5 that
works like 5.16”
The runtime should
honor that request
Perl should give you
semantics as close as
possible to what you
         request
New features
should not work
under ‘use v5.$older;’
It’s critical that we be
     able to evolve
We need an
escape hatch
We need
Rule 2
If you declare an old
 version, you get old
  syntax and semantics
...at least to the
best of our abilities
Perfection is
not possible
We can get far closer
  than we do now
Breaking existing
 code should be
 a last resort
In limited
circumstances we will
    break backward
     compatibility
Some craziness can’t be
fixed in an “optional”
    or lexical way
This is going to be
  hard work
A lot of hard work
It’s not impossible
Deprecation
Our current
deprecation cycle
   is 1 year
“It warns in 5.16.0”
“It’s gone in 5.18.0”
That’s turning out
to be too short
Very few operating
systems release that
     frequently
Declare by default
 means we can make
some changes sooner
If it still works in
 old code, we get to
  change it with no
deprecation cycle
Some misfeatures
need to come out
lest they block major
    improvements
If we can’t emulate
 an old feature for old
code, we get a longer
 deprecation cycle
“It dies in code that
declares ‘use v5.16’”
“It warns in older
  code on 5.16.0”
“It still warns in old
   code on 5.18.0”
“It’s gone in 5.20.0”
Rule 2 and
Old Modules
We haven’t just been
deprecating and yanking
 broken old features
We’ve been doing the
same to old modules
They all end up
  on CPAN
This hurts users who
   wrote code with
“no non-core deps”
We need to make it
easier to ship two
 flavors of Perl 5
Hotel California
Last thing I remember, I was
Running for the door
I had to find the passage back
To the place I was before
’relax,’ said the night man,
We are programmed to receive.
You can checkout any time you like,
But you can never leave!
aka Traditional Perl
The Times,They
Are A-Changin’
The line it is drawn
The curse it is cast
The slow one now
Will later be fast
As the present now
Will later be past
The order is rapidly fadin’
And the first one now will later be last
For the times they are a-changin’
aka Bootstrappable Perl
There’s work going on
  to make this easier
Perl is a big language
There are bigger
    languages
It's harder to manage
      a big language
It’s harder to learn
     a big language
It’s harder to fix bugs in
       a big language
We’re ok, but not
amazing at core
language dev
As a community, we’re
awesome at modules
How do we make Perl
a smaller language?
It’s possible to load
modules that inject
     new builtins
It’s possible to load
modules that inject
     old builtins
Time to start...
...refactoring
Lots of stuff in perl isn't
  necessarily part of
 Perl 5 the language
This stuff is part of
Perl 5 the chainsaw
I like our chainsaw
I’m not talking about
 deprecating this stuff
...just about
decoupling it
SysV IPC functions
Socket IO functions
Unix user & group
information functions
Unix network
information functions
Process and process
  group functions
Formats
smartmatch
...and probably a bunch
      of other stuff
If you don’t ‘use v5.16’,
you’ll get whatever was
         in 5.14.
The implementation of
   SysV might be a
      module
As a Perl 5 user you
 won’t need to care
..and shouldn’t
 be able to tell
In the future we might
fix a bug or two in the
   modularized code
You could take the
   update without
having to upgrade all of
         Perl 5
Someday we might
remove things from the
   default runtime
Every feature we
externalize reclaims
precious memory
Every feature we
externalize reclaims
 precious sanity
That just means you’ll
 need to declare you
want an older feature
...but only if you
   ask for v5.16
...but only if you
   ask for v5.18
...but only if you
   ask for v5.20
Existing code
won’t break
There are many, many
   unanswered
     questions
But it’s doable
I have proof!
Case study:
Smartmatch
After YAPC::NA RJBS
(and others) raised the
  issue of smartmatch
Perl has a history of
 borrowing from
  other languages
Perl has a history of
  thieving from
  other languages
We stole
smartmatch
from Perl 6
It’s very clever
It’s very clever
It’s nearly
impossible to
  explain
It’s nearly
impossible to
understand
RJBS proposed a saner,
 much less clever,
     smart match
I don’t want to break
existing code that
  uses “smartmatch”
Jesse Luehrs (DOY)
was sitting in the back
  of my YAPC talk
All guys named
Jesse are crazy
He...
...threw himself
   at the problem
He extracted
smartmatch into
 an XS module
He reimplemented it
entirely in pure perl
It’s slower, but it’s
understandable
     and hackable
He implemented
Ricardo’s saner smart
match as an alternative
I’m hoping that
 5.16 ships DOY’s
    smartmatch
implementations
'use v5.16;' should
load the new one in
     your scope
'use v5.14;' should
 load the old one in
     your scope
no “use v5.x;” line
 should load the old
  one in your scope.
We need a module
hierarchy for such
   things in core
The Test Suite
(Keeping us honest)
We have an
amazing
 test suite
Over time, we need to
 tease apart (at least)
   3 kinds of tests
Language tests
Bug-fix tests
Implementation
     tests
To hold us to the
compatibility promises
 we make, we need a
 new test harness
“Run the test suites
  we shipped with all
previous releases...”
We've been moving
    pretty fast
We’ve done some
   things I...
would not
do again
I’m going to be a lot
more skeptical about
   new features
...at least ones that
don’t make it easier to
 have fewer features
We should have
sane defaults
There’s lots of crazy
      in Perl 5
Syntactic Crazy
Semantic Crazy
Internal Crazy
Module Crazy
It may be time to
consider doing away
  with some of that
We’ve started
down this road
“use v5.12”
   includes
“use strict;”
Where do we
 go next?
warnings on
 by default
autodie-esque
   defaults
autodie does good
   for your code
using deep, scary evil
I will not show
  you the evil
Ask Paul Fenwick
You’re safe today.
  He’s not here
We should throw
exceptions rather
 than just return on
        failure
I don’t want us to
   bikeshed an
exception hierarchy
Heck, I’d be happy if we
started with dying with
 well-defined strings
(I’d love an exception hierarchy)
2-arg open()
gone by default
1-arg open()
gone by default
No more ' package
   separator
Latin-1
autopromote
 off by default
utf-8 everything
     by default
A clean, simple
meta-model
 with classes
and methods
No indirect object
 syntax by default
But only if you declare
     “use v5.16”
But only if you declare
     “use v5.18”
But only if you declare
     “use v5.20”
Perl needs to be
cleaner, simpler
   and easier
   to work with
For users...
...and for
implementers
Perl should run
everywhere
Not just on every
kind of hardware
Not just on every
Operating System
Every VM
Every Browser
Every Phone
Why isn’t Perl 5 on
other runtimes?
“There’s no spec”
That didn’t stop Ruby
“Only Perl 5 can
  parse Perl 5”
That didn't stop PPI
To survive, a desperate
 hacker needs to be able
to reimplement Perl 5
Thanks!
How do we make this
  happen faster?
Perl 5 Maint Fund
perlfoundation.org
Questions/Tomatoes?
http://blog.fsck.com
jesse@perl.org
@obra
So, you want
 to change
the name?
To something like
    Perl 7?
Or Raptor?
Our language
  is called
   Perl 5
Perl 6 is our
 precocious
  kid sister
I’m happy to talk about
  renaming Perl 5...
...if you write me a
second implementation
...that passes the
     test suite

Weitere ähnliche Inhalte

Was ist angesagt?

떠먹는 '오브젝트' Ch02 객체지향 프로그래밍
떠먹는 '오브젝트' Ch02 객체지향 프로그래밍떠먹는 '오브젝트' Ch02 객체지향 프로그래밍
떠먹는 '오브젝트' Ch02 객체지향 프로그래밍Covenant Ko
 
Idiomatic R for Rosetta Code (2013)
Idiomatic R for Rosetta Code (2013)Idiomatic R for Rosetta Code (2013)
Idiomatic R for Rosetta Code (2013)Peter Kofler
 
TDD as if You Meant It (2013)
TDD as if You Meant It (2013)TDD as if You Meant It (2013)
TDD as if You Meant It (2013)Peter Kofler
 
Code Retreat Graz, Austria 2013
Code Retreat Graz, Austria 2013Code Retreat Graz, Austria 2013
Code Retreat Graz, Austria 2013Peter Kofler
 
Golang and Domain Specific Languages - Lorenzo Fontana - Codemotion Rome 2017
Golang and Domain Specific Languages - Lorenzo Fontana - Codemotion Rome 2017Golang and Domain Specific Languages - Lorenzo Fontana - Codemotion Rome 2017
Golang and Domain Specific Languages - Lorenzo Fontana - Codemotion Rome 2017Codemotion
 
Clean Manifests with Puppet::Tidy
Clean Manifests with Puppet::TidyClean Manifests with Puppet::Tidy
Clean Manifests with Puppet::TidyPuppet
 
Code Quality Assurance v4 (2013)
Code Quality Assurance v4 (2013)Code Quality Assurance v4 (2013)
Code Quality Assurance v4 (2013)Peter Kofler
 
Elastic search meetup 20/9/2012
Elastic search meetup 20/9/2012Elastic search meetup 20/9/2012
Elastic search meetup 20/9/2012Boaz Leskes
 
GREAT STEP 1. 테스트 코드를 향한 위대한 발걸음
GREAT STEP 1. 테스트 코드를 향한 위대한 발걸음GREAT STEP 1. 테스트 코드를 향한 위대한 발걸음
GREAT STEP 1. 테스트 코드를 향한 위대한 발걸음Covenant Ko
 
The Brutal Refactoring Game (2013)
The Brutal Refactoring Game (2013)The Brutal Refactoring Game (2013)
The Brutal Refactoring Game (2013)Peter Kofler
 
C++ is like JavaScript
C++ is like JavaScriptC++ is like JavaScript
C++ is like JavaScriptPatricia Aas
 
PHP Files: An Introduction
PHP Files: An IntroductionPHP Files: An Introduction
PHP Files: An IntroductionJacques Woodcock
 

Was ist angesagt? (13)

떠먹는 '오브젝트' Ch02 객체지향 프로그래밍
떠먹는 '오브젝트' Ch02 객체지향 프로그래밍떠먹는 '오브젝트' Ch02 객체지향 프로그래밍
떠먹는 '오브젝트' Ch02 객체지향 프로그래밍
 
Idiomatic R for Rosetta Code (2013)
Idiomatic R for Rosetta Code (2013)Idiomatic R for Rosetta Code (2013)
Idiomatic R for Rosetta Code (2013)
 
TDD as if You Meant It (2013)
TDD as if You Meant It (2013)TDD as if You Meant It (2013)
TDD as if You Meant It (2013)
 
Code Retreat Graz, Austria 2013
Code Retreat Graz, Austria 2013Code Retreat Graz, Austria 2013
Code Retreat Graz, Austria 2013
 
Golang and Domain Specific Languages - Lorenzo Fontana - Codemotion Rome 2017
Golang and Domain Specific Languages - Lorenzo Fontana - Codemotion Rome 2017Golang and Domain Specific Languages - Lorenzo Fontana - Codemotion Rome 2017
Golang and Domain Specific Languages - Lorenzo Fontana - Codemotion Rome 2017
 
Clean Manifests with Puppet::Tidy
Clean Manifests with Puppet::TidyClean Manifests with Puppet::Tidy
Clean Manifests with Puppet::Tidy
 
Code Quality Assurance v4 (2013)
Code Quality Assurance v4 (2013)Code Quality Assurance v4 (2013)
Code Quality Assurance v4 (2013)
 
Elastic search meetup 20/9/2012
Elastic search meetup 20/9/2012Elastic search meetup 20/9/2012
Elastic search meetup 20/9/2012
 
GREAT STEP 1. 테스트 코드를 향한 위대한 발걸음
GREAT STEP 1. 테스트 코드를 향한 위대한 발걸음GREAT STEP 1. 테스트 코드를 향한 위대한 발걸음
GREAT STEP 1. 테스트 코드를 향한 위대한 발걸음
 
Asynchronous PHP. Myth? Reality!
Asynchronous PHP. Myth? Reality!Asynchronous PHP. Myth? Reality!
Asynchronous PHP. Myth? Reality!
 
The Brutal Refactoring Game (2013)
The Brutal Refactoring Game (2013)The Brutal Refactoring Game (2013)
The Brutal Refactoring Game (2013)
 
C++ is like JavaScript
C++ is like JavaScriptC++ is like JavaScript
C++ is like JavaScript
 
PHP Files: An Introduction
PHP Files: An IntroductionPHP Files: An Introduction
PHP Files: An Introduction
 

Andere mochten auch

Lecture 2.2 house of lords
Lecture 2.2   house of lordsLecture 2.2   house of lords
Lecture 2.2 house of lordsAine O'Doherty
 
Future Armoured Vehicles Eastern Europe
Future Armoured Vehicles Eastern EuropeFuture Armoured Vehicles Eastern Europe
Future Armoured Vehicles Eastern EuropeIna Luft
 
Tips to lower your electric bill
Tips to lower your electric billTips to lower your electric bill
Tips to lower your electric billDan Jape
 
Preparing for Probation Review (2012) - Regine Hampel
Preparing for Probation Review (2012) - Regine HampelPreparing for Probation Review (2012) - Regine Hampel
Preparing for Probation Review (2012) - Regine HampelOUmethods
 
Jacobs Mission Critical
Jacobs Mission CriticalJacobs Mission Critical
Jacobs Mission CriticalSam Larsen
 
HVAC Atlanta Checklist
HVAC Atlanta ChecklistHVAC Atlanta Checklist
HVAC Atlanta ChecklistDan Jape
 
DMAW Keynote: What Nonprofits Can Learn From Food Trucks
DMAW Keynote: What Nonprofits Can Learn From Food TrucksDMAW Keynote: What Nonprofits Can Learn From Food Trucks
DMAW Keynote: What Nonprofits Can Learn From Food TrucksCarie Lewis Carlson
 
RESULTADO FINAL NAS PROVAS OBJETIVAS Ronda 2012
RESULTADO FINAL NAS PROVAS OBJETIVAS Ronda 2012RESULTADO FINAL NAS PROVAS OBJETIVAS Ronda 2012
RESULTADO FINAL NAS PROVAS OBJETIVAS Ronda 2012Antonny Clark
 
Presentación puravera territorio10
Presentación puravera territorio10Presentación puravera territorio10
Presentación puravera territorio10Roy Ortiz
 
Rio34.1 tempos e classificaçao.xls (nova joao)
Rio34.1   tempos e classificaçao.xls  (nova joao)Rio34.1   tempos e classificaçao.xls  (nova joao)
Rio34.1 tempos e classificaçao.xls (nova joao)Jefferson Sestaro
 
Financial Discovery in Commercial Litigation
Financial Discovery in Commercial LitigationFinancial Discovery in Commercial Litigation
Financial Discovery in Commercial LitigationDiane Kilcoyne
 
November 2015 - The need to modernize Brazilian industry
November 2015 - The need to modernize Brazilian industryNovember 2015 - The need to modernize Brazilian industry
November 2015 - The need to modernize Brazilian industryFGV Brazil
 
Caso AGENDAS DE NADINE HEREDIA informe final comisión de fiscalización CGR
Caso AGENDAS DE NADINE HEREDIA informe final comisión de fiscalización CGRCaso AGENDAS DE NADINE HEREDIA informe final comisión de fiscalización CGR
Caso AGENDAS DE NADINE HEREDIA informe final comisión de fiscalización CGRHenry Zevallos
 
Tani meira jr&cattuzzo_2010
Tani meira jr&cattuzzo_2010Tani meira jr&cattuzzo_2010
Tani meira jr&cattuzzo_2010Cassio Meira Jr.
 
Curso de-argumentación-secundarias-técnicas-y-generales
Curso de-argumentación-secundarias-técnicas-y-generalesCurso de-argumentación-secundarias-técnicas-y-generales
Curso de-argumentación-secundarias-técnicas-y-generalesManuel Sanz
 
Esne 26022010 Brochure
Esne 26022010 BrochureEsne 26022010 Brochure
Esne 26022010 BrochureJPStrategy
 
Icaam conference brochure 210mm x 210mm v5 lowres
Icaam conference brochure 210mm x 210mm v5 lowresIcaam conference brochure 210mm x 210mm v5 lowres
Icaam conference brochure 210mm x 210mm v5 lowresCheryl Prior
 

Andere mochten auch (20)

Lecture 2.2 house of lords
Lecture 2.2   house of lordsLecture 2.2   house of lords
Lecture 2.2 house of lords
 
Future Armoured Vehicles Eastern Europe
Future Armoured Vehicles Eastern EuropeFuture Armoured Vehicles Eastern Europe
Future Armoured Vehicles Eastern Europe
 
Tips to lower your electric bill
Tips to lower your electric billTips to lower your electric bill
Tips to lower your electric bill
 
Preparing for Probation Review (2012) - Regine Hampel
Preparing for Probation Review (2012) - Regine HampelPreparing for Probation Review (2012) - Regine Hampel
Preparing for Probation Review (2012) - Regine Hampel
 
Jacobs Mission Critical
Jacobs Mission CriticalJacobs Mission Critical
Jacobs Mission Critical
 
HVAC Atlanta Checklist
HVAC Atlanta ChecklistHVAC Atlanta Checklist
HVAC Atlanta Checklist
 
The Access Rail System.
The Access Rail System.The Access Rail System.
The Access Rail System.
 
Perl 5.12.0
Perl 5.12.0Perl 5.12.0
Perl 5.12.0
 
DMAW Keynote: What Nonprofits Can Learn From Food Trucks
DMAW Keynote: What Nonprofits Can Learn From Food TrucksDMAW Keynote: What Nonprofits Can Learn From Food Trucks
DMAW Keynote: What Nonprofits Can Learn From Food Trucks
 
RESULTADO FINAL NAS PROVAS OBJETIVAS Ronda 2012
RESULTADO FINAL NAS PROVAS OBJETIVAS Ronda 2012RESULTADO FINAL NAS PROVAS OBJETIVAS Ronda 2012
RESULTADO FINAL NAS PROVAS OBJETIVAS Ronda 2012
 
Presentación puravera territorio10
Presentación puravera territorio10Presentación puravera territorio10
Presentación puravera territorio10
 
Rio34.1 tempos e classificaçao.xls (nova joao)
Rio34.1   tempos e classificaçao.xls  (nova joao)Rio34.1   tempos e classificaçao.xls  (nova joao)
Rio34.1 tempos e classificaçao.xls (nova joao)
 
Financial Discovery in Commercial Litigation
Financial Discovery in Commercial LitigationFinancial Discovery in Commercial Litigation
Financial Discovery in Commercial Litigation
 
November 2015 - The need to modernize Brazilian industry
November 2015 - The need to modernize Brazilian industryNovember 2015 - The need to modernize Brazilian industry
November 2015 - The need to modernize Brazilian industry
 
KEG2016
KEG2016KEG2016
KEG2016
 
Caso AGENDAS DE NADINE HEREDIA informe final comisión de fiscalización CGR
Caso AGENDAS DE NADINE HEREDIA informe final comisión de fiscalización CGRCaso AGENDAS DE NADINE HEREDIA informe final comisión de fiscalización CGR
Caso AGENDAS DE NADINE HEREDIA informe final comisión de fiscalización CGR
 
Tani meira jr&cattuzzo_2010
Tani meira jr&cattuzzo_2010Tani meira jr&cattuzzo_2010
Tani meira jr&cattuzzo_2010
 
Curso de-argumentación-secundarias-técnicas-y-generales
Curso de-argumentación-secundarias-técnicas-y-generalesCurso de-argumentación-secundarias-técnicas-y-generales
Curso de-argumentación-secundarias-técnicas-y-generales
 
Esne 26022010 Brochure
Esne 26022010 BrochureEsne 26022010 Brochure
Esne 26022010 Brochure
 
Icaam conference brochure 210mm x 210mm v5 lowres
Icaam conference brochure 210mm x 210mm v5 lowresIcaam conference brochure 210mm x 210mm v5 lowres
Icaam conference brochure 210mm x 210mm v5 lowres
 

Ähnlich wie Perl 5.16 and beyond

Modern Perl for the Unfrozen Paleolithic Perl Programmer
Modern Perl for the Unfrozen Paleolithic Perl ProgrammerModern Perl for the Unfrozen Paleolithic Perl Programmer
Modern Perl for the Unfrozen Paleolithic Perl ProgrammerJohn Anderson
 
Frozen Perl 2009 Keynote
Frozen Perl 2009 KeynoteFrozen Perl 2009 Keynote
Frozen Perl 2009 KeynoteAndy Lester
 
Infrastructure as code might be literally impossible part 2
Infrastructure as code might be literally impossible part 2Infrastructure as code might be literally impossible part 2
Infrastructure as code might be literally impossible part 2ice799
 
Pugs: A Perl 6 Implementation
Pugs: A Perl 6 ImplementationPugs: A Perl 6 Implementation
Pugs: A Perl 6 ImplementationAudrey Tang
 
Core Hackers of the Caribbean: The Curse of the Black Perl
Core Hackers of the Caribbean: The Curse of the Black PerlCore Hackers of the Caribbean: The Curse of the Black Perl
Core Hackers of the Caribbean: The Curse of the Black PerlChip Salzenberg
 
Infrastructure as code might be literally impossible
Infrastructure as code might be literally impossibleInfrastructure as code might be literally impossible
Infrastructure as code might be literally impossibleice799
 
Modern Perl for the Unfrozen Paleolithic Perl Programmer
Modern Perl for the Unfrozen Paleolithic Perl ProgrammerModern Perl for the Unfrozen Paleolithic Perl Programmer
Modern Perl for the Unfrozen Paleolithic Perl ProgrammerJohn Anderson
 
Le PERL est mort
Le PERL est mortLe PERL est mort
Le PERL est mortapeiron
 
Introduction to Writing Readable and Maintainable Perl (YAPC::EU 2011 Version)
Introduction to Writing Readable and Maintainable Perl (YAPC::EU 2011 Version)Introduction to Writing Readable and Maintainable Perl (YAPC::EU 2011 Version)
Introduction to Writing Readable and Maintainable Perl (YAPC::EU 2011 Version)Alex Balhatchet
 
PuppetConf 2014 Killer R10K Workflow With Notes
PuppetConf 2014 Killer R10K Workflow With NotesPuppetConf 2014 Killer R10K Workflow With Notes
PuppetConf 2014 Killer R10K Workflow With NotesPhil Zimmerman
 
Low maintenance perl notes
Low maintenance perl notesLow maintenance perl notes
Low maintenance perl notesPerrin Harkins
 
Old Dogs & New Tricks: What's New With Perl5 This Century
Old Dogs & New Tricks: What's New With Perl5 This CenturyOld Dogs & New Tricks: What's New With Perl5 This Century
Old Dogs & New Tricks: What's New With Perl5 This CenturyJohn Anderson
 
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
 
Infrastructure as code might be literally impossible / Joe Domato (packageclo...
Infrastructure as code might be literally impossible / Joe Domato (packageclo...Infrastructure as code might be literally impossible / Joe Domato (packageclo...
Infrastructure as code might be literally impossible / Joe Domato (packageclo...Ontico
 
You shouldneverdo
You shouldneverdoYou shouldneverdo
You shouldneverdodaniil3
 
Perl::Lint - Yet Another Perl Source Code Linter
Perl::Lint - Yet Another Perl Source Code LinterPerl::Lint - Yet Another Perl Source Code Linter
Perl::Lint - Yet Another Perl Source Code Lintermoznion
 
Packaging is the Worst Way to Distribute Software, Except for Everything Else
Packaging is the Worst Way to Distribute Software, Except for Everything ElsePackaging is the Worst Way to Distribute Software, Except for Everything Else
Packaging is the Worst Way to Distribute Software, Except for Everything Elsemckern
 
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
 

Ähnlich wie Perl 5.16 and beyond (20)

Modern Perl for the Unfrozen Paleolithic Perl Programmer
Modern Perl for the Unfrozen Paleolithic Perl ProgrammerModern Perl for the Unfrozen Paleolithic Perl Programmer
Modern Perl for the Unfrozen Paleolithic Perl Programmer
 
Frozen Perl 2009 Keynote
Frozen Perl 2009 KeynoteFrozen Perl 2009 Keynote
Frozen Perl 2009 Keynote
 
Infrastructure as code might be literally impossible part 2
Infrastructure as code might be literally impossible part 2Infrastructure as code might be literally impossible part 2
Infrastructure as code might be literally impossible part 2
 
Pugs: A Perl 6 Implementation
Pugs: A Perl 6 ImplementationPugs: A Perl 6 Implementation
Pugs: A Perl 6 Implementation
 
Core Hackers of the Caribbean: The Curse of the Black Perl
Core Hackers of the Caribbean: The Curse of the Black PerlCore Hackers of the Caribbean: The Curse of the Black Perl
Core Hackers of the Caribbean: The Curse of the Black Perl
 
Infrastructure as code might be literally impossible
Infrastructure as code might be literally impossibleInfrastructure as code might be literally impossible
Infrastructure as code might be literally impossible
 
Modern Perl for the Unfrozen Paleolithic Perl Programmer
Modern Perl for the Unfrozen Paleolithic Perl ProgrammerModern Perl for the Unfrozen Paleolithic Perl Programmer
Modern Perl for the Unfrozen Paleolithic Perl Programmer
 
Le PERL est mort
Le PERL est mortLe PERL est mort
Le PERL est mort
 
Introduction to Writing Readable and Maintainable Perl (YAPC::EU 2011 Version)
Introduction to Writing Readable and Maintainable Perl (YAPC::EU 2011 Version)Introduction to Writing Readable and Maintainable Perl (YAPC::EU 2011 Version)
Introduction to Writing Readable and Maintainable Perl (YAPC::EU 2011 Version)
 
PuppetConf 2014 Killer R10K Workflow With Notes
PuppetConf 2014 Killer R10K Workflow With NotesPuppetConf 2014 Killer R10K Workflow With Notes
PuppetConf 2014 Killer R10K Workflow With Notes
 
Low maintenance perl notes
Low maintenance perl notesLow maintenance perl notes
Low maintenance perl notes
 
Old Dogs & New Tricks: What's New With Perl5 This Century
Old Dogs & New Tricks: What's New With Perl5 This CenturyOld Dogs & New Tricks: What's New With Perl5 This Century
Old Dogs & New Tricks: What's New With Perl5 This Century
 
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?
 
Infrastructure as code might be literally impossible / Joe Domato (packageclo...
Infrastructure as code might be literally impossible / Joe Domato (packageclo...Infrastructure as code might be literally impossible / Joe Domato (packageclo...
Infrastructure as code might be literally impossible / Joe Domato (packageclo...
 
You shouldneverdo
You shouldneverdoYou shouldneverdo
You shouldneverdo
 
Plenv and carton
Plenv and cartonPlenv and carton
Plenv and carton
 
Perl::Lint - Yet Another Perl Source Code Linter
Perl::Lint - Yet Another Perl Source Code LinterPerl::Lint - Yet Another Perl Source Code Linter
Perl::Lint - Yet Another Perl Source Code Linter
 
Packaging is the Worst Way to Distribute Software, Except for Everything Else
Packaging is the Worst Way to Distribute Software, Except for Everything ElsePackaging is the Worst Way to Distribute Software, Except for Everything Else
Packaging is the Worst Way to Distribute Software, Except for Everything Else
 
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)
 
Php extensions
Php extensionsPhp extensions
Php extensions
 

Mehr von Jesse Vincent

Building a keyboard from scratch
Building a keyboard from scratchBuilding a keyboard from scratch
Building a keyboard from scratchJesse Vincent
 
So, I made a keyboard
So, I made a keyboardSo, I made a keyboard
So, I made a keyboardJesse Vincent
 
Dancing App Stores - Android Open 2011
Dancing App Stores - Android Open 2011Dancing App Stores - Android Open 2011
Dancing App Stores - Android Open 2011Jesse Vincent
 
OSCON 2011 - Perl 5.16 and beyond
OSCON 2011 - Perl 5.16 and beyondOSCON 2011 - Perl 5.16 and beyond
OSCON 2011 - Perl 5.16 and beyondJesse Vincent
 
RT4 - The whole sordid story
RT4 - The whole sordid storyRT4 - The whole sordid story
RT4 - The whole sordid storyJesse Vincent
 
K-9 Mail for Android
K-9 Mail for AndroidK-9 Mail for Android
K-9 Mail for AndroidJesse Vincent
 
P2P Bug Tracking with SD
P2P Bug Tracking with SDP2P Bug Tracking with SD
P2P Bug Tracking with SDJesse Vincent
 
SD - A peer to peer issue tracking system
SD - A peer to peer issue tracking systemSD - A peer to peer issue tracking system
SD - A peer to peer issue tracking systemJesse Vincent
 
Hacking your Kindle (OSCON Lightning Talk)
Hacking your Kindle (OSCON Lightning Talk)Hacking your Kindle (OSCON Lightning Talk)
Hacking your Kindle (OSCON Lightning Talk)Jesse Vincent
 
Beginning Kindle Hackery
Beginning Kindle HackeryBeginning Kindle Hackery
Beginning Kindle HackeryJesse Vincent
 
SD, a P2P bug tracking system
SD, a P2P bug tracking systemSD, a P2P bug tracking system
SD, a P2P bug tracking systemJesse Vincent
 
Prophet - Beijing Perl Workshop
Prophet - Beijing Perl WorkshopProphet - Beijing Perl Workshop
Prophet - Beijing Perl WorkshopJesse Vincent
 
Beijing Perl Workshop 2008 Hiveminder Secret Sauce
Beijing Perl Workshop 2008 Hiveminder Secret SauceBeijing Perl Workshop 2008 Hiveminder Secret Sauce
Beijing Perl Workshop 2008 Hiveminder Secret SauceJesse Vincent
 
A brief introduction to RTIR
A brief introduction to RTIRA brief introduction to RTIR
A brief introduction to RTIRJesse Vincent
 
An introduction to RTIR
An introduction to RTIRAn introduction to RTIR
An introduction to RTIRJesse Vincent
 
Prophet: a path out of the Cloud
Prophet: a path out of the CloudProphet: a path out of the Cloud
Prophet: a path out of the CloudJesse Vincent
 
Web 2.0 is Sharecropping
Web 2.0 is SharecroppingWeb 2.0 is Sharecropping
Web 2.0 is SharecroppingJesse Vincent
 
Hiveminder - Everything but the Secret Sauce
Hiveminder - Everything but the Secret SauceHiveminder - Everything but the Secret Sauce
Hiveminder - Everything but the Secret SauceJesse Vincent
 
Prophet - A peer to peer replicated disconnected database
Prophet - A peer to peer replicated disconnected databaseProphet - A peer to peer replicated disconnected database
Prophet - A peer to peer replicated disconnected databaseJesse Vincent
 

Mehr von Jesse Vincent (19)

Building a keyboard from scratch
Building a keyboard from scratchBuilding a keyboard from scratch
Building a keyboard from scratch
 
So, I made a keyboard
So, I made a keyboardSo, I made a keyboard
So, I made a keyboard
 
Dancing App Stores - Android Open 2011
Dancing App Stores - Android Open 2011Dancing App Stores - Android Open 2011
Dancing App Stores - Android Open 2011
 
OSCON 2011 - Perl 5.16 and beyond
OSCON 2011 - Perl 5.16 and beyondOSCON 2011 - Perl 5.16 and beyond
OSCON 2011 - Perl 5.16 and beyond
 
RT4 - The whole sordid story
RT4 - The whole sordid storyRT4 - The whole sordid story
RT4 - The whole sordid story
 
K-9 Mail for Android
K-9 Mail for AndroidK-9 Mail for Android
K-9 Mail for Android
 
P2P Bug Tracking with SD
P2P Bug Tracking with SDP2P Bug Tracking with SD
P2P Bug Tracking with SD
 
SD - A peer to peer issue tracking system
SD - A peer to peer issue tracking systemSD - A peer to peer issue tracking system
SD - A peer to peer issue tracking system
 
Hacking your Kindle (OSCON Lightning Talk)
Hacking your Kindle (OSCON Lightning Talk)Hacking your Kindle (OSCON Lightning Talk)
Hacking your Kindle (OSCON Lightning Talk)
 
Beginning Kindle Hackery
Beginning Kindle HackeryBeginning Kindle Hackery
Beginning Kindle Hackery
 
SD, a P2P bug tracking system
SD, a P2P bug tracking systemSD, a P2P bug tracking system
SD, a P2P bug tracking system
 
Prophet - Beijing Perl Workshop
Prophet - Beijing Perl WorkshopProphet - Beijing Perl Workshop
Prophet - Beijing Perl Workshop
 
Beijing Perl Workshop 2008 Hiveminder Secret Sauce
Beijing Perl Workshop 2008 Hiveminder Secret SauceBeijing Perl Workshop 2008 Hiveminder Secret Sauce
Beijing Perl Workshop 2008 Hiveminder Secret Sauce
 
A brief introduction to RTIR
A brief introduction to RTIRA brief introduction to RTIR
A brief introduction to RTIR
 
An introduction to RTIR
An introduction to RTIRAn introduction to RTIR
An introduction to RTIR
 
Prophet: a path out of the Cloud
Prophet: a path out of the CloudProphet: a path out of the Cloud
Prophet: a path out of the Cloud
 
Web 2.0 is Sharecropping
Web 2.0 is SharecroppingWeb 2.0 is Sharecropping
Web 2.0 is Sharecropping
 
Hiveminder - Everything but the Secret Sauce
Hiveminder - Everything but the Secret SauceHiveminder - Everything but the Secret Sauce
Hiveminder - Everything but the Secret Sauce
 
Prophet - A peer to peer replicated disconnected database
Prophet - A peer to peer replicated disconnected databaseProphet - A peer to peer replicated disconnected database
Prophet - A peer to peer replicated disconnected database
 

Kürzlich hochgeladen

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
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
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
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
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
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
 
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
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
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
 
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
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
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
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 

Kürzlich hochgeladen (20)

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
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!
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
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
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 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
 
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
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
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
 
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
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 

Perl 5.16 and beyond

Hinweis der Redaktion

  1. \n
  2. Back when I was the p6pm, the logo looked like this.\n
  3. These days, P6 has something more modern and reasonable for a logo\n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. (I learned this trick from DHH)\n
  25. \n
  26. \n
  27. \n
  28. \n
  29. ask for applause for the audience\n
  30. \n
  31. \n
  32. \n
  33. \n
  34. But I suck at photoshop and couldn&amp;#x2019;t put his face on michael j fox&amp;#x2019;s body inside a delorean\n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. This one is EASY\n
  48. \n
  49. \n
  50. \n
  51. \n
  52. No, Perl 5 is not self-aware. That&amp;#x2019;s Perl 6\n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. Cue ghandi quote\n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. This is the first time I&amp;#x2019;ve given a talk since I started pumpkinging where the # didn&amp;#x2019;t change.\n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. Side effect:\n\n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n
  97. \n
  98. \n
  99. *coughsmartmatchcough*\n
  100. \n
  101. \n
  102. \n
  103. Sane defaults will evolve\n
  104. \n
  105. \n
  106. \n
  107. \n
  108. \n
  109. \n
  110. \n
  111. \n
  112. \n
  113. \n
  114. \n
  115. \n
  116. \n
  117. \n
  118. \n
  119. \n
  120. \n
  121. \n
  122. \n
  123. \n
  124. \n
  125. \n
  126. \n
  127. \n
  128. \n
  129. \n
  130. \n
  131. \n
  132. \n
  133. \n
  134. \n
  135. \n
  136. \n
  137. \n
  138. \n
  139. \n
  140. \n
  141. \n
  142. \n
  143. \n
  144. \n
  145. \n
  146. \n
  147. \n
  148. \n
  149. \n
  150. \n
  151. \n
  152. \n
  153. \n
  154. \n
  155. \n
  156. \n
  157. \n
  158. \n
  159. \n
  160. \n
  161. this will contain only what we need to bootstrap the CPAN client.\n
  162. \n
  163. \n
  164. Like our friends in the php community\n
  165. \n
  166. \n
  167. \n
  168. \n
  169. \n
  170. \n
  171. \n
  172. \n
  173. \n
  174. \n
  175. \n
  176. \n
  177. \n
  178. \n
  179. \n
  180. \n
  181. \n
  182. \n
  183. \n
  184. \n
  185. \n
  186. \n
  187. \n
  188. \n
  189. \n
  190. \n
  191. \n
  192. \n
  193. \n
  194. \n
  195. \n
  196. \n
  197. \n
  198. \n
  199. \n
  200. \n
  201. \n
  202. \n
  203. \n
  204. \n
  205. \n
  206. \n
  207. \n
  208. \n
  209. ...but we didn&amp;#x2019;t manage to understand that without a typesystem, it kinda sucks\n
  210. or perhaps I should say...\n
  211. \n
  212. \n
  213. \n
  214. \n
  215. even though it can&amp;#x2019;t be doing possibly right\n
  216. it was an early version of this talk\n
  217. \n
  218. \n
  219. \n
  220. \n
  221. \n
  222. \n
  223. \n
  224. \n
  225. \n
  226. \n
  227. \n
  228. \n
  229. \n
  230. \n
  231. \n
  232. \n
  233. \n
  234. \n
  235. \n
  236. \n
  237. \n
  238. \n
  239. \n
  240. \n
  241. \n
  242. \n
  243. \n
  244. \n
  245. \n
  246. \n
  247. \n
  248. \n
  249. \n
  250. \n
  251. \n
  252. \n
  253. \n
  254. \n
  255. \n
  256. \n
  257. \n
  258. \n
  259. \n
  260. \n
  261. \n
  262. \n
  263. \n
  264. once we&amp;#x2019;ve done that, why don&amp;#x2019;t we....\n
  265. \n
  266. again, this slide was there before damian&amp;#x2019;s talk\n
  267. \n
  268. except where we can&amp;#x2019;t or it would be too insane\n
  269. \n
  270. \n
  271. \n
  272. \n
  273. \n
  274. \n
  275. \n
  276. \n
  277. \n
  278. \n
  279. \n
  280. \n
  281. \n
  282. \n
  283. \n
  284. \n
  285. \n
  286. \n
  287. \n
  288. \n
  289. \n
  290. \n
  291. \n
  292. \n
  293. \n
  294. \n
  295. \n
  296. \n
  297. \n
  298. \n
  299. \n
  300. \n
  301. \n