Perl 5.12 for Everyday Use
-
Upload
ricardo-signes -
Category
Documents
-
view
1.667 -
download
1
description
Transcript of Perl 5.12 for Everyday Use
![Page 1: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/1.jpg)
Perl 5.12for everyday use
Sunday, December 5, 2010
![Page 2: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/2.jpg)
perl5100delta
5.12 isn’t like 5.10
Sunday, December 5, 2010
![Page 3: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/3.jpg)
perl5100delta
5.12 isn’t like 5.10
- after 5.8, we had to wait 5 years for 5.10
Sunday, December 5, 2010
![Page 4: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/4.jpg)
perl5100delta
5.12 isn’t like 5.10
- after 5.8, we had to wait 5 years for 5.10
- 5.12 came out 2 years after 5.10
Sunday, December 5, 2010
![Page 5: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/5.jpg)
perl5100delta
5.12 is a Nice Change
Sunday, December 5, 2010
![Page 6: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/6.jpg)
perl5100delta
5.12 is a Nice Change
- 5.10 was a huge set of changes
Sunday, December 5, 2010
![Page 7: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/7.jpg)
perl5100delta
5.12 is a Nice Change
- 5.10 was a huge set of changes
- 5.12 is a lot smaller
Sunday, December 5, 2010
![Page 8: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/8.jpg)
perl5100delta
5.12 is a Nice Change
- 5.10 was a huge set of changes
- 5.12 is a lot smaller
- 5.12 is not as compelling as 5.10
Sunday, December 5, 2010
![Page 9: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/9.jpg)
perl5100delta
5.12 is a Nice Change
- 5.10 was a huge set of changes
- 5.12 is a lot smaller
- 5.12 is not as compelling as 5.10
- and that’s a good thing
Sunday, December 5, 2010
![Page 10: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/10.jpg)
perl5100delta
5.12 is a Mixed Bag
Sunday, December 5, 2010
![Page 11: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/11.jpg)
perl5100delta
5.12 is a Mixed Bag
- this talk isn’t just for beginners
Sunday, December 5, 2010
![Page 12: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/12.jpg)
perl5100delta
5.12 is a Mixed Bag
- this talk isn’t just for beginners
- some of these changes are at the edges
Sunday, December 5, 2010
![Page 13: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/13.jpg)
perl5100delta
5.12 is a Mixed Bag
- this talk isn’t just for beginners
- some of these changes are at the edges
- but they’re all practical
Sunday, December 5, 2010
![Page 14: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/14.jpg)
perl5100delta
5.12 is a Mixed Bag
- this talk isn’t just for beginners
- some of these changes are at the edges
- but they’re all practical
- except for the ones that aren’t
Sunday, December 5, 2010
![Page 15: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/15.jpg)
perl5132delta
By the way, 5.14...
Sunday, December 5, 2010
![Page 16: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/16.jpg)
perl5132delta
By the way, 5.14...
- is going to be awesome
Sunday, December 5, 2010
![Page 17: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/17.jpg)
perl5132delta
By the way, 5.14...
- is going to be awesome
- and available in about nine months
Sunday, December 5, 2010
![Page 18: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/18.jpg)
perl5132delta
By the way, 5.14...
- is going to be awesome
- and available in about nine months
- and it’s going to be awesome
Sunday, December 5, 2010
![Page 19: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/19.jpg)
perl5101delta
...and 5.10 is frozen.
Sunday, December 5, 2010
![Page 20: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/20.jpg)
perl5101delta
...and 5.10 is frozen.
- 5.10 is the last release of the old way
Sunday, December 5, 2010
![Page 21: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/21.jpg)
perl5101delta
...and 5.10 is frozen.
- 5.10 is the last release of the old way
- that means it got some features backported
Sunday, December 5, 2010
![Page 22: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/22.jpg)
perl5101delta
...and 5.10 is frozen.
- 5.10 is the last release of the old way
- that means it got some features backported
- that will never happen again
Sunday, December 5, 2010
![Page 23: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/23.jpg)
perl5101delta
...and 5.10 is frozen.
- 5.10 is the last release of the old way
- that means it got some features backported
- that will never happen again
- I’ll point out 5.12isms that got into 5.10.1
Sunday, December 5, 2010
![Page 24: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/24.jpg)
but enough about other versions
Sunday, December 5, 2010
![Page 25: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/25.jpg)
let’s talk about 5.12
Sunday, December 5, 2010
![Page 26: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/26.jpg)
feature
First: A Warning
Sunday, December 5, 2010
![Page 27: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/27.jpg)
feature
First: A Warning
- 5.12 is backwards compatible
Sunday, December 5, 2010
![Page 28: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/28.jpg)
feature
First: A Warning
- 5.12 is backwards compatible
- but adds new keywords and operators
Sunday, December 5, 2010
![Page 29: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/29.jpg)
feature
First: A Warning
- 5.12 is backwards compatible
- but adds new keywords and operators
- they’re not enabled by default
Sunday, December 5, 2010
![Page 30: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/30.jpg)
feature
First: A Warning
- 5.12 is backwards compatible
- but adds new keywords and operators
- they’re not enabled by default
- use feature ‘mtfnpy’;
Sunday, December 5, 2010
![Page 31: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/31.jpg)
feature
First: A Warning
- 5.12 is backwards compatible
- but adds new keywords and operators
- they’re not enabled by default
- use feature ‘mtfnpy’;
- use 5.012;
Sunday, December 5, 2010
![Page 32: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/32.jpg)
feature
First: A Warning
- 5.12 is backwards compatible
- but adds new keywords and operators
- they’re not enabled by default
- use feature ‘mtfnpy’;
- use 5.012;
- read the perldoc
Sunday, December 5, 2010
![Page 33: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/33.jpg)
feature
First: A Warning
- 5.12 is backwards compatible
- but adds new keywords and operators
- they’re not enabled by default
- use feature ‘mtfnpy’;
- use 5.012;
- read the perldoc I’m a perldoc ref!
Sunday, December 5, 2010
![Page 34: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/34.jpg)
feature
First: A Warning
- 5.12 is backwards compatible
- but adds new keywords and operators
- they’re not enabled by default
- use feature ‘mtfnpy’;
- use 5.012;
- read the perldoc
Sunday, December 5, 2010
![Page 35: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/35.jpg)
perlsyn
- the smart match operator changed
$old ~~ $new
also in 5.10.1
Sunday, December 5, 2010
![Page 36: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/36.jpg)
perldoc
~~
- no longer commutative; right side wins
- non-overloaded objects can’t be ~~ed
- still very complicated (23 behaviors)
- you won’t be using this every day
Sunday, December 5, 2010
![Page 37: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/37.jpg)
autodie
autodie
also in 5.10.1
Sunday, December 5, 2010
![Page 38: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/38.jpg)
autodie
autodie
- like Fatal
also in 5.10.1
Sunday, December 5, 2010
![Page 39: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/39.jpg)
autodie
autodie
- like Fatal
- but deadlier
also in 5.10.1
Sunday, December 5, 2010
![Page 40: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/40.jpg)
autodie
autodie
open my $fh, ‘>‘, $filename;
while (<$fh>) { ...}
close $fh;
Sunday, December 5, 2010
![Page 41: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/41.jpg)
autodie
autodie
open my $fh, ‘>‘, $filename or die “couldn’t open $filename: $!”;
while (<$fh>) { ...}
close $fh or die “couldn’t close $filename: $!”;
Sunday, December 5, 2010
![Page 42: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/42.jpg)
autodie
autodie
use autodie;
open my $fh, ‘<‘, $filename;
while (<$fh>) { ...}
close $fh;
Sunday, December 5, 2010
![Page 43: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/43.jpg)
autodie
autodie
use autodie;
open my $fh, ‘>‘, $filename;
while (<$fh>) { no autodie; rmdir or warn “couldn’t remove $_: $!”;}
close $fh;
Sunday, December 5, 2010
![Page 44: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/44.jpg)
perldoc
autodie problems
- autodie doesn’t affect print
- you must close filehandles explicitly
Sunday, December 5, 2010
![Page 45: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/45.jpg)
Unicode
Sunday, December 5, 2010
![Page 46: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/46.jpg)
perlunicode
Perl is Good at Unicode
Sunday, December 5, 2010
![Page 47: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/47.jpg)
perlunicode
Perl 5.12 is Better
Sunday, December 5, 2010
![Page 48: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/48.jpg)
perlunicode
Perl 5.12 is Better
- Unicode 5.2
Sunday, December 5, 2010
![Page 49: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/49.jpg)
perlunicode
Perl 5.12 is Better
- Unicode 5.2
- every character property is available
Sunday, December 5, 2010
![Page 50: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/50.jpg)
perlunicode
Perl 5.12 is Better
- Unicode 5.2
- every character property is available
- \X in regex is more sensible
Sunday, December 5, 2010
![Page 51: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/51.jpg)
perlunicode
“The Unicode Bug”
Sunday, December 5, 2010
![Page 52: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/52.jpg)
perlunicode
“The Unicode Bug”
- strings aren’t always treated as Unicode
Sunday, December 5, 2010
![Page 53: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/53.jpg)
perlunicode
“The Unicode Bug”
- strings aren’t always treated as Unicode
- this causes weird bugs that take ages to find
Sunday, December 5, 2010
![Page 54: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/54.jpg)
perlunicode
“The Unicode Bug”
- strings aren’t always treated as Unicode
- this causes weird bugs that take ages to find
- use feature ‘unicode_strings’;
Sunday, December 5, 2010
![Page 55: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/55.jpg)
perldoc
use feature ‘unicode_strings’;
Sunday, December 5, 2010
![Page 56: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/56.jpg)
perldoc
use 5.12.0;
Sunday, December 5, 2010
![Page 57: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/57.jpg)
perldoc
use 5.10.0;
Sunday, December 5, 2010
![Page 58: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/58.jpg)
perldoc
use 5.10.0;
use feature qw( say state switch);
Sunday, December 5, 2010
![Page 59: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/59.jpg)
perldoc
use 5.12.0;
Sunday, December 5, 2010
![Page 60: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/60.jpg)
perldoc
use 5.12.0;
use feature qw( say state switch unicode_strings);
Sunday, December 5, 2010
![Page 61: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/61.jpg)
perldoc
use 5.12.0;
use feature qw( say state switch unicode_strings);
use strict;
Sunday, December 5, 2010
![Page 62: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/62.jpg)
Container Improvements
Sunday, December 5, 2010
![Page 63: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/63.jpg)
my %hash = (a => 1, b => 2);
while (my ($k, $v) = each %hash) { say “value for $k is $v”;}
Sunday, December 5, 2010
![Page 64: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/64.jpg)
my %hash = (a => 1, b => 2);
while (my ($k, $v) = each %hash) { say “value for $k is $v”;}
value for a is 1value for b is 2
Sunday, December 5, 2010
![Page 65: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/65.jpg)
Sunday, December 5, 2010
![Page 66: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/66.jpg)
my @array = qw(a b);
Sunday, December 5, 2010
![Page 67: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/67.jpg)
my @array = qw(a b);
value for 0 is bvalue for 1 is a
Sunday, December 5, 2010
![Page 68: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/68.jpg)
my @array = qw(a b);
for my $k (0 .. $#array) { say “value for $k is $array[$k]”;}
value for 0 is bvalue for 1 is a
Sunday, December 5, 2010
![Page 69: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/69.jpg)
my @array = qw(a b);
while (my ($k, $v) = each @array) { say “value for $k is $v”;}
value for 0 is bvalue for 1 is a
Sunday, December 5, 2010
![Page 70: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/70.jpg)
my @array = qw(a b);
while (my ($k, $v) = each @array) { say “value for $k is $v”;}
my @array = qw(a b);
for my $k (0 .. $#array) { say “value for $k is $array[$k]”;}
Sunday, December 5, 2010
![Page 71: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/71.jpg)
sub redump { my ($href) = @_; while (my ($k, $v) = each %hash) { say “value for $k is $v”; }}
my %hash = (a => 1, b => 2);
while (my ($k, $v) = each %hash) { print “== $k ==”; redump(\%hash);}
Sunday, December 5, 2010
![Page 72: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/72.jpg)
my @array = qw(a b);
while (my ($k, $v) = each @array) { say “value for $k is $v”;}
Sunday, December 5, 2010
![Page 73: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/73.jpg)
my @array = qw(a b);
while (my ($k, $v) = each @array) { say “value for $k is $v”; do_something(\@array);}
Sunday, December 5, 2010
![Page 74: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/74.jpg)
my @array = qw(a b);
while (my ($k, $v) = each @array) { say “value for $k is $v”;}
Sunday, December 5, 2010
![Page 75: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/75.jpg)
my @array = qw(a b);
while (my ($k, $v) = each @array) { my $string = $part_for_maybe_transient->bodyhandle->as_string; my $transient_pos = _match_position($string, $Not_An_Error); last unless defined $transient_pos; my $permanent_pos = _match_position($string, $Really_An_Error); my $orig_msg_pos = _match_position($string, $Returned_Message_Below); last if _position_before($permanent_pos, $orig_msg_pos); if (_position_before($transient_pos, $orig_msg_pos)) { say “value for $k is $v”; last if $message->effective_type eq ‘multipart/report’; last if !$first_part || $first_part->effective_type ne ‘text/plain’; my $string = $first_part->as_string; last if length($string) > 3000; # added return receipt (fix for bug #41870) last if $string !~ /auto.{0,20}reply|return receipt |vacation|(out|away|on holiday).*office/i; $self->log(“looks like an autoreply, ignoring.”); $self->{type} = “vacation autoreply”; $self->{is_bounce} = 0; return $self; }}
Sunday, December 5, 2010
![Page 76: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/76.jpg)
AVOIDeach @array
Sunday, December 5, 2010
![Page 77: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/77.jpg)
local ??
Sunday, December 5, 2010
![Page 78: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/78.jpg)
use Ancient::Utility qw(stuff);
my $result = do { local $Ancient::Utility::WIDTH = 10; stuff( $input );};
Sunday, December 5, 2010
![Page 79: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/79.jpg)
my $href = { a => 1, b => 2 };
my $result = do { local $href->{a} = 3; stuff( $href );};
Sunday, December 5, 2010
![Page 80: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/80.jpg)
my $href = { a => 1, b => 2 };
my $result = do { delete local $href->{a}; stuff( $href );};
Sunday, December 5, 2010
![Page 81: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/81.jpg)
$]
Sunday, December 5, 2010
![Page 82: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/82.jpg)
$[
Sunday, December 5, 2010
![Page 83: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/83.jpg)
perlvar
$[ - first index of array
Sunday, December 5, 2010
![Page 84: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/84.jpg)
perlvar
$[ - first index of array
- so you can make $array[1] mean first
Sunday, December 5, 2010
![Page 85: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/85.jpg)
perlvar
$[ - first index of array
- so you can make $array[1] mean first
- isn’t that awesome???
Sunday, December 5, 2010
![Page 86: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/86.jpg)
perlvar
$[ - first index of array
- so you can make $array[1] mean first
- isn’t that awesome???
- yeah, about as awesome as Comic Sans
Sunday, December 5, 2010
![Page 87: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/87.jpg)
perlvar
$[
$[ = 1;
for (1 .. $#array) { ...}
Sunday, December 5, 2010
![Page 88: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/88.jpg)
perlvar
$[
for ($[ .. $#array) { ...}
Sunday, December 5, 2010
![Page 89: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/89.jpg)
perlvar
$[
Assigned to $[. Are you some kind of idiot or something? at -e line 123.
Sunday, December 5, 2010
![Page 90: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/90.jpg)
perlvar
$[
Use of assignment to $[ is deprecated at -e line 123.
Sunday, December 5, 2010
![Page 91: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/91.jpg)
More About Deprecations
Sunday, December 5, 2010
![Page 92: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/92.jpg)
@INC
Sunday, December 5, 2010
![Page 93: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/93.jpg)
perlvar
@INC: /usr/pkg/lib/perl5/5.8.0/i386-solaris /usr/pkg/lib/perl5/5.8.0 /usr/pkg/lib/perl5/site_perl/5.8.0/i386-solaris /usr/pkg/lib/perl5/site_perl/5.8.0 /usr/pkg/lib/perl5/site_perl /usr/pkg/lib/perl5/vendor_perl/5.8.0/i386-solaris /usr/pkg/lib/perl5/vendor_perl/5.8.0 /usr/pkg/lib/perl5/vendor_perl
Sunday, December 5, 2010
![Page 94: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/94.jpg)
perlvar
@INC: /usr/pkg/lib/perl5/5.8.0/i386-solaris /usr/pkg/lib/perl5/5.8.0 /usr/pkg/lib/perl5/site_perl/5.8.0/i386-solaris /usr/pkg/lib/perl5/site_perl/5.8.0 /usr/pkg/lib/perl5/site_perl /usr/pkg/lib/perl5/vendor_perl/5.8.0/i386-solaris /usr/pkg/lib/perl5/vendor_perl/5.8.0 /usr/pkg/lib/perl5/vendor_perl
Sunday, December 5, 2010
![Page 95: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/95.jpg)
perlvar
@INC: /usr/pkg/lib/perl5/site_perl/5.8.0/i386-solaris /usr/pkg/lib/perl5/site_perl/5.8.0 /usr/pkg/lib/perl5/site_perl /usr/pkg/lib/perl5/vendor_perl/5.8.0/i386-solaris /usr/pkg/lib/perl5/vendor_perl/5.8.0 /usr/pkg/lib/perl5/vendor_perl /usr/pkg/lib/perl5/5.8.0/i386-solaris /usr/pkg/lib/perl5/5.8.0
Sunday, December 5, 2010
![Page 96: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/96.jpg)
now we can remove stuff from the core distribution
Sunday, December 5, 2010
![Page 97: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/97.jpg)
Class::ISAPod::PlainerShell
Sunday, December 5, 2010
![Page 98: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/98.jpg)
Class::ISAPod::PlainerShellSwitch
Sunday, December 5, 2010
![Page 99: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/99.jpg)
… and …
Sunday, December 5, 2010
![Page 100: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/100.jpg)
Sunday, December 5, 2010
![Page 101: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/101.jpg)
my $x = get_input;
Sunday, December 5, 2010
![Page 102: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/102.jpg)
my $x = get_input;
if ( $x >= 0 ) {
Sunday, December 5, 2010
![Page 103: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/103.jpg)
my $x = get_input;
if ( $x >= 0 ) { do_something for 0 .. $x;
Sunday, December 5, 2010
![Page 104: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/104.jpg)
my $x = get_input;
if ( $x >= 0 ) { do_something for 0 .. $x;} else {
Sunday, December 5, 2010
![Page 105: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/105.jpg)
my $x = get_input;
if ( $x >= 0 ) { do_something for 0 .. $x;} else { ...
Sunday, December 5, 2010
![Page 106: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/106.jpg)
my $x = get_input;
if ( $x >= 0 ) { do_something for 0 .. $x;} else { ...}
Sunday, December 5, 2010
![Page 107: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/107.jpg)
my $x = get_input;
if ( $x >= 0 ) { do_something for 0 .. $x;} else { ...}
Sunday, December 5, 2010
![Page 108: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/108.jpg)
my $x = get_input;
if ( $x >= 0 ) { do_something for 0 .. $x;} else { die “Unimplemented”}
Sunday, December 5, 2010
![Page 109: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/109.jpg)
sub virtual_method { ... }
Sunday, December 5, 2010
![Page 110: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/110.jpg)
sub method_I_will_write_later { ... }
Sunday, December 5, 2010
![Page 111: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/111.jpg)
Unimplemented at Some::Library line 123
Sunday, December 5, 2010
![Page 112: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/112.jpg)
AVOID...
Sunday, December 5, 2010
![Page 113: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/113.jpg)
AVOID...
(except maybe in slides and pseudocode)
Sunday, December 5, 2010
![Page 114: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/114.jpg)
sub virtual_method { confess ‘...’}
sub method_I_will_write_later { confess ‘...’}
Sunday, December 5, 2010
![Page 115: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/115.jpg)
error message improvements
Sunday, December 5, 2010
![Page 116: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/116.jpg)
perldiagSunday, December 5, 2010
![Page 117: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/117.jpg)
perldiagSunday, December 5, 2010
![Page 118: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/118.jpg)
perldiagSunday, December 5, 2010
![Page 119: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/119.jpg)
perldiag
perl -MCGI -e’my $q = CGI->new;’Unrecognized character \xE2 in column 12 at -e line 1.
Sunday, December 5, 2010
![Page 120: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/120.jpg)
perldiag
perl -MCGI -e’my $q = CGI−->new;’Unrecognized character \xE2; marked by <-- HERE after y $q = CGI<-- HERE near column 12 at -e line 1.
perl -MCGI -e’my $q = CGI->new;’Unrecognized character \xE2 in column 12 at -e line 1.
Sunday, December 5, 2010
![Page 121: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/121.jpg)
perldiag
My Favorite 5.10-ism?
Use of uninitialized value $time in concatenation (.) or string at hello.plx line 9.
$str = “Greetings, $name. Your last login was $last. It is now $time.”;
Sunday, December 5, 2010
![Page 122: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/122.jpg)
perldiag
My Favorite 5.12-ism?
if (length $input->{new_email}) { $user->update_email(...);}
Sunday, December 5, 2010
![Page 123: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/123.jpg)
perldiag
My Favorite 5.12-ism?
Use of uninitialized value in length at - line 3120.
if (length $input->{new_email}) { $user->update_email(...);}
Sunday, December 5, 2010
![Page 124: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/124.jpg)
perldiag
My Favorite 5.12-ism?
if (length $input->{new_email}) { $user->update_email(...);}
Sunday, December 5, 2010
![Page 125: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/125.jpg)
overloading
Sunday, December 5, 2010
![Page 126: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/126.jpg)
my $object = Object->new;
print $object;
Sunday, December 5, 2010
![Page 127: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/127.jpg)
my $object = Object->new;
{ no overloading; print $object;}
Sunday, December 5, 2010
![Page 128: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/128.jpg)
my $filename = get_filename;
if (-d $filename) { handle_directory($filename);}
Sunday, December 5, 2010
![Page 129: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/129.jpg)
package Filename;
use overload ‘-X’ => sub { my ($self, $test) = @_; return $self->is_dir if $test eq ‘d’; return $self->cd_able if $test eq ‘x’; ...;};
Sunday, December 5, 2010
![Page 130: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/130.jpg)
my $file = get_file;
if (-d $file) { handle_directory($file);}
Sunday, December 5, 2010
![Page 131: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/131.jpg)
my $filename = get_file;
if (-d $file and -x _) { handle_directory($file);}
Sunday, December 5, 2010
![Page 132: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/132.jpg)
my $filename = get_filename;
if (-d -x $filename) { handle_directory($filename);}
Sunday, December 5, 2010
![Page 133: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/133.jpg)
AVOIDoverload -X
Sunday, December 5, 2010
![Page 134: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/134.jpg)
y2038
Sunday, December 5, 2010
![Page 135: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/135.jpg)
Sunday, December 5, 2010
![Page 136: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/136.jpg)
~$ perl5.10.0 -E ‘say scalar localtime 2**31-1’
Sunday, December 5, 2010
![Page 137: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/137.jpg)
~$ perl5.10.0 -E ‘say scalar localtime 2**31-1’Mon Jan 18 22:14:07 2038
Sunday, December 5, 2010
![Page 138: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/138.jpg)
~$ perl5.10.0 -E ‘say scalar localtime 2**31-1’Mon Jan 18 22:14:07 2038
~$ perl5.10.0 -E ‘say scalar localtime 2**31’
Sunday, December 5, 2010
![Page 139: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/139.jpg)
~$ perl5.10.0 -E ‘say scalar localtime 2**31-1’Mon Jan 18 22:14:07 2038
~$ perl5.10.0 -E ‘say scalar localtime 2**31’Fri Dec 13 15:45:52 1901
Sunday, December 5, 2010
![Page 140: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/140.jpg)
Sunday, December 5, 2010
![Page 141: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/141.jpg)
~$ perl5.12.0 -E ‘say scalar localtime 2**31-1’
Sunday, December 5, 2010
![Page 142: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/142.jpg)
~$ perl5.12.0 -E ‘say scalar localtime 2**31-1’Mon Jan 18 22:14:07 2038
Sunday, December 5, 2010
![Page 143: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/143.jpg)
~$ perl5.12.0 -E ‘say scalar localtime 2**31-1’Mon Jan 18 22:14:07 2038
~$ perl5.12.0 -E ‘say scalar localtime 2**31’
Sunday, December 5, 2010
![Page 144: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/144.jpg)
~$ perl5.12.0 -E ‘say scalar localtime 2**31-1’Mon Jan 18 22:14:07 2038
~$ perl5.12.0 -E ‘say scalar localtime 2**31’Mon Jan 18 22:14:08 2038
Sunday, December 5, 2010
![Page 145: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/145.jpg)
some non-everyday changes
Sunday, December 5, 2010
![Page 146: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/146.jpg)
A
B C
D
Method Resolution Order
mroSunday, December 5, 2010
![Page 147: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/147.jpg)
A
B C
D
Method Resolution Order
- 5.8 : D, B, A, C
mroSunday, December 5, 2010
![Page 148: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/148.jpg)
A
B C
D
Method Resolution Order
- 5.8 : D, B, A, C
- 5.10: D, B, C, A
mroSunday, December 5, 2010
![Page 149: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/149.jpg)
A
B C
D
Method Resolution Order
- 5.8 : D, B, A, C
- 5.10: D, B, C, A
- 5.12: Anything!
mroSunday, December 5, 2010
![Page 150: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/150.jpg)
A
B C
D
Method Resolution Order
- 5.8 : D, B, A, C
- 5.10: D, B, C, A
- 5.12: F
MRO::DefineSunday, December 5, 2010
![Page 151: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/151.jpg)
use strict;use warnings;
package Booster::Gold;our $VERSION = ‘1.00’;
...
1;
Sunday, December 5, 2010
![Page 152: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/152.jpg)
use 5.12.0;use warnings;
package Booster::Gold 1.00;
...
1;
Sunday, December 5, 2010
![Page 153: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/153.jpg)
use 5.14.0;use warnings;
package Booster::Gold 1.00 { ...}
1;
Sunday, December 5, 2010
![Page 154: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/154.jpg)
http://www.perl.org/get.html
Sunday, December 5, 2010
![Page 155: Perl 5.12 for Everyday Use](https://reader034.fdocuments.us/reader034/viewer/2022042606/54b78ebf4a7959db528b49c7/html5/thumbnails/155.jpg)
Any questions?
Sunday, December 5, 2010