Perl 5.10 в 2010-м

128
Perl 5.10 в 2010-м

description

New features of Perl 5.10 as they appear in modern CPAN; where to use them and how to avoid difficulties.

Transcript of Perl 5.10 в 2010-м

Page 1: Perl 5.10 в 2010-м

Perl 5.10! 2010-"

Page 2: Perl 5.10 в 2010-м

#$%&' I(%&)*+, + %&$&+%&+-$

Page 3: Perl 5.10 в 2010-м

5.10.018 ./-$0*, 2007

Page 4: Perl 5.10 в 2010-м

1/2).3,20 4/!*$5, 2010

Page 5: Perl 5.10 в 2010-м

6*)75)795 .3/8

Page 6: Perl 5.10 в 2010-м

9$ :&) !*/",5.10.1

Page 7: Perl 5.10 в 2010-м

9$ :&) !*/",5.11.0, 5.11.1,

5.11.2, 5.11.3, 5.11.4

Page 8: Perl 5.10 в 2010-м

;%/2) 3$ CPAN~80 000 ").<5/8

Page 9: Perl 5.10 в 2010-м

;%/2) 3$ CPAN~20 000 .+%&*+0<&+!)!

Page 10: Perl 5.10 в 2010-м

;%/2) 3$ CPAN~8000 $!&)*)!

Page 11: Perl 5.10 в 2010-м

=$- >$%&)+%?)5'@<A&4+>+ Perl 5.10?

Page 12: Perl 5.10 в 2010-м

?

Page 13: Perl 5.10 в 2010-м

~ 200 ").<5/8

Page 14: Perl 5.10 в 2010-м

~ 100 $!&)*)!

Page 15: Perl 5.10 в 2010-м

#$%&' IIB+>+ Perl 5.10

Page 16: Perl 5.10 в 2010-м

!"#$%&

''

()*+,$-%&.+-

!"#

Page 17: Perl 5.10 в 2010-м

//

%"$//$0.10

%"$//$23*!,

23*!,$//$45"!5

Page 18: Perl 5.10 в 2010-м

!6*,758*9:+;%&<$=

$$$$65:+;0"0<$=>>>?

$$$$65:+;@A@<$=>>>?

$$$$1:B"C3,$$$=>>>?

?

Page 19: Perl 5.10 в 2010-м

!,",:

!CA$7DC+,:)$=

$$$$!,",:$%7$'$EF

$$$$):,C)+$GG%7F

?

Page 20: Perl 5.10 в 2010-м

):8:&:!

;HI+"J:K<

.L

.M

4G

4N

.8I+"J:K

Page 21: Perl 5.10 в 2010-м

00

%7*,#$'$%")8$00$@OD!7D6@F

%9"7"+7#=7*,#?$00'$@OD!7D6@F

Page 22: Perl 5.10 в 2010-м

#$%&' III=$- ?+7<& .*<2+/

Page 23: Perl 5.10 в 2010-м

=$- !-5A>+&'

Page 24: Perl 5.10 в 2010-м

C!:$P>EQEEEEFC!:$P>EQEEQFC!:$P>EQEFC!:$P>EQEREEEFC!:$P>QE>EFC!:$9P>QE>EFC!:$9P>QEFC!:$B:",C):$@SP>QE@F

Page 25: Perl 5.10 в 2010-м

vector stringversion string

%)-*$C/33) — v-string

P>QE>E9P>QE>E9P>QE

Page 26: Perl 5.10 в 2010-м
Page 27: Perl 5.10 в 2010-м

!"# .5, )&5$.-+

Page 28: Perl 5.10 в 2010-м

8*9:+$;%"7,*D+<$=

$$$$65:+$;0T*+73C1:R7J1S0<$=

$$$$$$$$J#$%7J1$'$%75*31NK7D+,:+,F

$$$$$$$$%7J1$'/$0T*+73C1:R7J1S;.!U<0F

$$$$$$$$J#$%6!$'$%Q$VV$@@F

$$$$$$$$%7J1$'/$!0T*+73C1:R7J1S.!U00F

$$$$$$$$W!"#;-7J1S%6!%7J1-<F

$$$$$$$$%7J1$'$761;<$>$@0@$>$%7J1F

$$$$$$$$2DC,(C,$'$X&;%7J1<F

$$$$$$$$%75*31NK7D+,:+,;%6!$>$YD*+;%6!Z$2DC,(C,<<F

$$$$?

[D1SS\3:J:+,"3SS])"+!BD)J:)SS^+73C1:$— 08 Jan 2010 include output via files and commands

Page 29: Perl 5.10 в 2010-м

00 + 00' .5, @3$>/3+8 ?) <")5>$3+A

Page 30: Perl 5.10 в 2010-м

%(D),$00'$$P_`aF

%5D!,$00'$@3D7"35D!,@F

%7D3$$00'$@@F

[8SSbD"1:) — 07 Jul 2008 Perl extension for loading Postgres tables

Page 31: Perl 5.10 в 2010-м

%",,)c=$J"&YDA$$?$00'$QF

%9"3C:$00'$QF

%",,)c=$%R$?$00'$EF

%",,)c=$9:)AD!:$?$00'$@@F

%",,)c=$1:AC8$$$?$00'$@@F

%9"3$00'$QF

%:&*,$00'$EF

%!d*(cNK=$%YDAR*1$?$00'$@ed*($D+$e^fgh[@

[")"33:3SSi:(:+1 — 12 Aug 2009 Parallel-dependent dispatch of perl or shell code

Page 32: Perl 5.10 в 2010-м

!CA$*J(D),$$$=

$$$$!5*B,F

$$$$J#$4")8!$'$2RF

$$$$W$6:$1D$+D,$7"):$"ADC,$"C,D9*9

$$$$%Tg=B*&:1,*J:?$'$%")8!=:(D75RDBB!:,?$00$

$$$$$$$$$$$$$$$$$$$$$jkM\SS,*J:F

?

B*&:1,*J: — 14 Aug 2008 lexical pragma to fix the epoch offset for time related functions

Page 33: Perl 5.10 в 2010-м

!"#$%"+!6:)$00$

$$$$-^$1D+@,$d+D6$:+DC85$,D$"+!6:)$#DC$#:,>-F

g"*3D — 29 Jan 2010 A pluggable Markov engine analogous to MegaHAL

Page 34: Perl 5.10 в 2010-м

J#$%J")("R9:)!*D+$$'$

$$$$%[")!:SSO")("SSl\Me^km$00$@C+1:B@F

J#$%!DC)7:R9:)!*D+$'$

$$$$%[")!:SSO")("SSeDC)7:SSl\Me^km$00$@C+1:B@F

%D(,*D+!$00'$=?F

[")!:SSO")(" — 14 Dec 2008Generate Parsers from any BNF grammar

Page 35: Perl 5.10 в 2010-м

J#$%+C33*+8R!#JAD3$'

$$%)5!R!#JAD3NKn[")!:SSO")("SS^+,:)+"3SSe#JAD3SSmhbbRob^oep$00$%)5!R!#JAD3F

%"7,*D+$00'$%1:B"C3,R"7,*D+F

!"#$=%,)"7:RB5?

$$$$@[)DA3:J!$7DJ(*3*+8$"7,*D+$BD)$D)*8*+"3$)C3:S$@Z

$$$$[")!:SSO")("SSA)*:BRD)*8*+"3R)C3:;%)C3:<F

J#$%73D+:$'$%73D+:R")8$00$QF

J#$%7C)):+,R(")!:R!:,$'$%(")!:R!:,R")8$00$%1:B"C3,R(")!:R!:,F

%75D*7:$00'$EF

%3*+:!$00'$nEpF

%!DC)7:RD(,*D+!$00'$=?F

[")!:SSO")("SS^+,:)+"3SS\9"3C",D)$— 14 Dec 2008Generate Parsers from any BNF grammar

Page 36: Perl 5.10 в 2010-м

J#$%,)"7:RB5$'$%")8R,)"7:RB5$00$;Ue]i\MM<F

J#$%,)"7:RB5$'$!5*B,F

%,)"7:RB5$00'$Ue]i\MMF

[")!:SSO")("SSM:7D8+*c:)$— 14 Dec 2008Generate Parsers from any BNF grammar

Page 37: Perl 5.10 в 2010-м

00 !3<&*+ ):,C)+

Page 38: Perl 5.10 в 2010-м

):,C)+$%!:3BNKR8:,R*+B:7,*D+;$%1*!:"!:NK*1$<$00$EF

J#$%9"3$'$%!:3BNKR8:,;%d:#<$00$%1:B"C3,NK=%d:#?F

):,C)+$2=$%!:3BNKR(3"#:)!$00$np$?F

f"J:!SS["+1:J*7SSj*,#Z$f"J:!SS["+1:J*7SSjD+B*8$— 07 Sep 2009f"J:!SSM*!d$— 18 Oct 2008

Page 39: Perl 5.10 в 2010-м

!CA$5DJ:1*)$=

$$J#$;%!:3B<$'$2RF

$$):XC*):$q*3:SSgDJ:i*)F

$$):,C)+$q*3:SSgDJ:i*)NKJ#R5DJ:

$$$$00$7)D"d$@q*3:SSgDJ:i*)$!"#!$#DC$5"9:$+D$5DJ:

$$$$$$$$$$$$$$1*):7,D)#@F

?

o((SSMeeab:"B+D1:$— 02 Feb 2010post RSS feeds to newsgroups

Page 40: Perl 5.10 в 2010-м

!CA$7D+B*8RB*3:+"J:$=

$$J#$;%!:3B<$'$2RF

$$):,C)+$%!:3BNK=@7D+B*8RB*3:+"J:@?$00$1D$=

$$$$):XC*):$q*3:SSe(:7F

$$$$q*3:SSe(:7NK7",B*3:$

$$$$$$$$;%!:3BNK5DJ:1*)Z$@>)!!a3:"B+D1:>7D+B@<F

$$?F

?

o((SSMeeab:"B+D1:$— 02 Feb 2010post RSS feeds to newsgroups

Page 41: Perl 5.10 в 2010-м

):,C)+$

$$$*!D1",:R,DR)B7raa;%1",:$00$%!:3BNK=@+D6raa@?<F

):,C)+$hM^SS]*,3:SS,*,3:

$$$$;=$C)3$$'K$;%):!(NK):XC:!,NKC)*$00$@@<Z

$$$$$$$1","$'K$%):!(NK1:7D1:1R7D+,:+,$

$$$$$$$;75")!:,$'K$@+D+:@<?<F

o((SSMeeab:"B+D1:$— 02 Feb 2010post RSS feeds to newsgroups

Page 42: Perl 5.10 в 2010-м

):,C)+$!3<&*+ 00

Page 43: Perl 5.10 в 2010-м

J#$%AR,*J:$'$%!:3BNK*,:JR,DR,*J:,;%AR*,:J<

$$$00$):,C)+$%"R*,:JF

J#$%"R,*J:$'$%!:3BNK*,:JR,DR,*J:,;%"R*,:J<$

$$$00$):,C)+$%AR*,:JFF

J#$%!,)$'$%!:3BNK*,:JR,DR1",:;%*,:J<$

$$$00$):,C)+F

o((SSMeeab:"B+D1:$— 02 Feb 2010post RSS feeds to newsgroups

Page 44: Perl 5.10 в 2010-м

):,C)+$;:3,R,DR:J"*3$;%*,:JNKB*)!,R75*31;@"C,5D)@<<

$$$$$$$$00$:3,R,DR:J"*3$;%*,:J$$$NKB*)!,R75*31;@17S7):",D)@<<

$$$$$$$$00$:3,R,DR:J"*3$;%*,:J$$$NKB*)!,R75*31;@17S7D+,)*AC,D)@<<

$$$$$$$$00$+D+R:J(,#$;%*,:JNKB*)!,R75*31R,:&,;@6*d*SC!:)+"J:@<<

$$$$$$$$00$:3,R,DR:J"*3$;%75"++:3NKB*)!,R75*31;@17S7):",D)@<<

$$$$$$$$00$:3,R,DR:J"*3$;%75"++:3NKB*)!,R75*31;@"C,5D)@<<

$$$$$$$$00$:3,R,DR:J"*3$;%75"++:3NKB*)!,R75*31;@J"+"8*+8\1*,D)@<<

$$$$$$$$00$:3,R,DR:J"*3$;%75"++:3NKB*)!,R75*31;@6:AO"!,:)@<<

$$$$$$$$00$:3,R,DR:J"*3$;%*,:J$$$NKB*)!,R75*31;@17S(CA3*!5:)@<<

$$$$$$$$00$:3,R,DR:J"*3$;%75"++:3NKB*)!,R75*31;@17S(CA3*!5:)@<<

$$$$$$$$00$+D+R:J(,#$;%75"++:3NKB*)!,R75*31R,:&,;@,*,3:@<<

$$$$$$$$W$Mqjraa

$$$$$$$$00$@+DAD1#2@>%!:3BNKC)*R,DR5D!,

$$$$$$$<F

o((SSMeeab:"B+D1:$— 02 Feb 2010post RSS feeds to newsgroups

Page 45: Perl 5.10 в 2010-м

!CA$*,:JR,DR3"+8C"8:$=

$$J#$;%!:3BZ$%*,:J<$'$2RF

$$J#$%7D+,:+,F

$$J#$%):,$'$;:3,R,DR3"+8C"8:;%*,:J<

$$$$$$$$$$$$$00$:3,R,DR3"+8C"8:;%*,:JNKB*)!,R75*31;@7D+,:+,@<<<F

$$BD)$;FF<$=

$$$$%*,:J$'$%*,:JNK("):+,$00$3"!,F

$$$$%):,$00'$:3,R,DR3"+8C"8:;%*,:J<F

$$?

$$%):,$00'$%!:3BNK=@):!(@?NK7D+,:+,R3"+8C"8:F

$$):,C)+$%):,F

?

o((SSMeeab:"B+D1:$— 02 Feb 2010post RSS feeds to newsgroups

Page 46: Perl 5.10 в 2010-м

D/%-)5'-)$00

Page 47: Perl 5.10 в 2010-м

$$$$J#$%7"(,C):!$$$$'$%")8$=7"(,C):!?$$$$$$$00$npF

$$$$J#$%7DJJ:+,$$$$$'$:!7"(:$%")8$=7DJJ:+,?$00$%+"J:$00$--F

$$$$J#$%C(8)"1:$$$$$'$%")8$=C,BrRC(8)"1:?$$$00$QF

$$$$J#$%1D6+8)"1:$$$'$%")8$=C,BrR1D6+8)"1:?$00$QF

$$$$J#$%J",75$$$$$$$'$%")8$=J",75?$$$$$$$$$$00$QF

f"J:!SSsCJ(C!$— 24 Nov 2009 Play Hunt the Wumpus

Page 48: Perl 5.10 в 2010-м

65:+ %) %-$5,*)"

Page 49: Perl 5.10 в 2010-м

$$$$65*3:$;J#$;%d:#Z$%9"3C:<$'$:"75$4")8<$=

$$$$$$$$8*9:+$;%d:#<$=

$$$$$$$$$$$$65:+$;-,:!,!-<$=

$$$$$$$$$$$$$$$$%]:!,$NK$(3"+$;%9"3C:<F

$$$$$$$$$$$$?

$$$$$$$$$$$$65:+$;-*J(D),-<$=

$$$$$$$$$$$$$$$$%!:3B$NK$:&(D),R,DR3:9:3$;QZ$%!:3BZ$%R<$BD)$2=%9"3C:$VV$np?F

$$$$$$$$$$$$?

$$$$$$$$$$$$1:B"C3,$=

$$$$$$$$$$$$$$$$1*:$-h+d+D6+$D(,*D+$@%d:#@.+-F

$$$$$$$$$$$$?

$$$$$$$$?

$$$$?

]:!,SSM:8:&($— 09 Dec 2009 Test your regular expressions

Page 50: Perl 5.10 в 2010-м

$$$$BD):"75$;25"c")1!<$=

$$$$$$$$65:+$;%shO[he<$=

$$$$$$$$$$$$%!:3B$NK$3D!:F

$$$$$$$$$$$$(C!5$2J:!!"8:!$'K$-kD(!t$uCJ(:1$*+,D$"$sCJ(C!t-F

$$$$$$$$?

$$$$$$$$65:+$;%[^]<$=

$$$$$$$$$$$$%!:3B$NK$3D!:F

$$$$$$$$$$$$(C!5$2J:!!"8:!$'K$-vvv^^^^\\\\t$q:33$*+$"$(*,t-F

$$$$$$$$?

$$$$$$$$65:+$;%uo]<$=

$$$$$$$$$$$$(C!5$2J:!!"8:!$'K$

$$$$$$$$$$$$$$$$$$-wo[t$eC(:)$A",$!+",75t$\3!:65:):9*33:$BD)$#DCt-F

$$$$$$$$?

$$$$?

f"J:!SSsCJ(C!$— 24 Nov 2009 Play Hunt the Wumpus

Page 51: Perl 5.10 в 2010-м

65:+ .5, !E0)*$ !$*+$3&$

Page 52: Perl 5.10 в 2010-м

8*9:+$;%d<$=

$$$$65:+$;@B*3:@<$$$$=$%D(,RB*3:$$$$$'$%9F$?

$$$$65:+$;@")89@<$$$$=$%D(,R")89$$$$$'$%9F$?

$$$$65:+$;@*+,:)@<$$$=$%D(,R*+,:)"7,$'$%9F$?

$$$$65:+$;@()DJ(,@<$$=$%D(,R()DJ(,$$$'$%9F$?

$$$$65:+$;@XC*:,@<$$$=$%D(,RXC*:,$$$$'$%9F$?

$$$$65:+$;@,,#R*+@<$$=$%,,#R*+$$$$$$$'$%9F$?

$$$$65:+$;@,,#RDC,@<$=$%,,#RDC,$$$$$$'$%9F$?

$$$$1:B"C3,$=

$$$$$$$$1*:$-\))D)S$*+$!CA)DC,*+:$!:,RD(,;<Z$BDC+1$*+9"3*1$d:#$=%d$'K$@%9@?

$$$$$$$$$$$$$;+D,$@B*3:@Z$@")89@Z$@*+,:)@Z$@()DJ(,@Z$@XC*:,@Z

$$$$$$$$$$$$$@,,#R*+@$D)$@,,#RDC,@<-F

$$$$?

?

]:)JSSiu[)DJ(,$— 18 Dec 2009 Commandline prompt for a database application

Page 53: Perl 5.10 в 2010-м

8*9:+$;%*+(R,#(<

$$$$65:+$;@B@<$>$>$>

$$$$65:+$;@"@<$>$>$>

$$$$65:+$;@*@<$>$>$>

$$$$1:B"C3,$=

$$$$$$$$1*:$-^+,:)+"3$:))D)S$,#(:$'$@%*+(R,#(@$;+D,$@B@Z$@"@$D)$@*@<-F

$$$$?

?

]:)JSSiu[)DJ(,$— 18 Dec 2009 Commandline prompt for a database application

Page 54: Perl 5.10 в 2010-м

65:+% 0<5/!E" !E*$F/3+/"

Page 55: Perl 5.10 в 2010-м

C+3:!!$;$@*,"+@$//$23*!,$<$=

$$$$8*9:+$;$3:+8,5$%("!!6D)1$<$=

$$$$$$$$65:+$;$Qx$<$=

$$$$$$$$$$$$W$Dd

$$$$$$$$?

$$$$$$$$65:+$;$%R$I$_$<$=

$$$$$$$$$$$$1*:;@\MMkMS$["!!6D)1$*!$,DD$!5D),$;O*+$_$A#,:!$):XC*):1<@<F

$$$$$$$$?

$$$$$$$$65:+$;$%R$K$Qx$<$=

$$$$$$$$$$$$1*:;@\MMkMS$["!!6D)1$*!$,DD$3D+8$;O"&$Qx$A#,:!$"33D6:1<@<F

$$$$$$$$?

$$$$$$$$1:B"C3,$=

$$$$$$$$$$$$65*3:$;Q<$=

$$$$$$$$$$$$$$$$%("!!6D)1$>'$@E@F

$$$$$$$$$$$$$$$$3"!,$

$$$$$$$$$$$$$$$$$$$$*B$3:+8,5$%("!!6D)1$''$QxF

$$$$$$$$$$$$?

$$$$$$$$?

$$$$?

o((SS*]"+SSh,*3!$— 26 Oct 2009 Secure management of iTans for online banking

Page 56: Perl 5.10 в 2010-м

C+3:!!$;$@*,"+@$//$23*!,$<$=

$$$$8*9:+$;$3:+8,5$%("!!6D)1$<$=

$$$$$$$$65:+$;$Qx$<$=

$$$$$$$$$$$$W$Dd

$$$$$$$$?

$$$$$$$$65:+$;$%R$I$_$<$=

$$$$$$$$$$$$1*:;@\MMkMS$["!!6D)1$*!$,DD$!5D),$;O*+$_$A#,:!$):XC*):1<@<F

$$$$$$$$?

$$$$$$$$65:+$;$%R$K$Qx$<$=

$$$$$$$$$$$$1*:;@\MMkMS$["!!6D)1$*!$,DD$3D+8$;O"&$Qx$A#,:!$"33D6:1<@<F

$$$$$$$$?

$$$$$$$$1:B"C3,$=

$$$$$$$$$$$$65*3:$;Q<$=

$$$$$$$$$$$$$$$$%("!!6D)1$>'$@E@F

$$$$$$$$$$$$$$$$3"!,$

$$$$$$$$$$$$$$$$$$$$*B$3:+8,5$%("!!6D)1$''$QxF

$$$$$$$$$$$$?

$$$$$$$$?

$$$$?

o((SS*]"+SSh,*3!$— 26 Oct 2009 Secure management of iTans for online banking

Page 57: Perl 5.10 в 2010-м

65:+% */2<5,*3E" !E*$F/3+/"

Page 58: Perl 5.10 в 2010-м

!CA$)"+8:a3*!,$=

$ J#$%R$'$!5*B,F

$ 8*9:+$;%R<$=

$ $ 65:+$;0T;.1<.N;.1<%0D$<$$$=$):,C)+$-%Q>>%a-$?

$ $ 65:+$;0T.1.>.>.1%0D$<$$$$$=$):,C)+$-%R-$?

$ $ 65:+$;0T.1%0D$<$$$$$$$$$$$=$):,C)+$%R?

$ $ 65:+$;0T;>UH<Z;>U<%0D$<$$$=$):,C)+$)"+8:a3*!,;%Q<>$@Z@

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$>)"+8:a3*!,;%a<?

$ $ 1:B"C3,$$$$$$$$$$$$$$$$$$$=$):,C)+$@@?

$ ?

?

j","3#!,SSi:9:3

Page 59: Perl 5.10 в 2010-м

65:+ + ):B

Page 60: Perl 5.10 в 2010-м

$$$$8*9:+;):B$%B1:B<=

$$$$$$$$65:+;@oMMov@<=

["7d"8:SSq)DJi","$— 14 Jan 2008 generate a package with methods and variables from a data structure

Page 61: Perl 5.10 в 2010-м

65:+ + C+1:B

Page 62: Perl 5.10 в 2010-м

8*9:+$;%Q<$=

$$$$65:+$;C+1:B<$$=):,C)+?

$$$$65:+$;%3:B,<$$=$%1:(,5GGF$?

$$$$65:+$;%)*85,<$=$%1:(,5NNF$?

?

[")!:SSO")("SSb:&

Page 63: Perl 5.10 в 2010-м

8*9:+$;%"7,*D+<$=

$$$$65:+$;C+1:B<$=F?$$$$W$1D$+D,5*+8

$$$$$$$$$$$$$$$$$$$$$$$$W$M*85,$+D6$1D$+D,5*+8$

$$$$$$$$$$$$$$$$$$$$$$$$W$AC,$B*+1$3:&RXRXCD,:

$$$$65:+$;@3:&RXRXCD,:@<$=

$$$$$$$$%3:&:)!n%*&p$'

$$$$$$$$$$$$n$.y[")!:SSO")("SSb:&SS3:&RXRXCD,:Z

$$$$$$$$$$$$$$$%():B*&Z$%!CBB*&$pF

$$$$?

[")!:SSO")("SSM:7D8+*c:)

Page 64: Perl 5.10 в 2010-м

;5)F/33E/ 8*9:+065:+

Page 65: Perl 5.10 в 2010-м

[k\SSjDJ(D+:+,SSz"AA:)$— 22 Mar 2009 A POE Component for communicating over Jabber

8*9:+;%+"J:<$=

$$$$65:+$;@!,):"JS!,):"J@<$>$>$>

$$$$65:+$;@75"33:+8:@<$>$>$>

$$$$65:+$;@B"*3C):@<$>$>$>

$$$$65:+$;@!,):"JSB:",C):!@<$>$>$>$

$$$$$$$$8*9:+;J#$%73*!,$'$%+D1:NK8:,j5*31):+g"!5;<<$=

$$$$$$$$$$$$65:+$;@!,"),,3!@<$>$>$>

$$$$$$$$$$$$65:+;@J:75"+*!J!@<$>$>$>

$$$$$$$$$$$$$$$$BD):"75;%73*!,NK=@J:75"+*!J!@?NK

$$$$$$$$$$$$$$$$$$nEpNK8:,j5*31):+u#]"8m"J:;@U@<<

$$$$$$$$$$$$$$$$$$$$65:+;%RNK,:&,jD+,:+,;<$:X$@i^f\e]NOiP@$

$$$$$$$$$$$$$$$$$$$$$$D)$%RNK,:&,jD+,:+,;<$:X$@[bo^m@<

$$$$$$$$$$$$65:+;@A*+1@<$>$>$>

$$$$$$$$$$$$1:B"C3,$>$>$>

$$$$65:+$;@()D7::1@<$>$>$>

$$$$65:+$;@!C77:!!@<$>$>$>

Page 66: Perl 5.10 в 2010-м

[k\SSjDJ(D+:+,SSz"AA:)$— 22 Mar 2009 A POE Component for communicating over Jabber

8*9:+;%+"J:<$=

$$$$65:+$;@!,):"JS!,):"J@<$>$>$>

$$$$65:+$;@75"33:+8:@<$>$>$>

$$$$65:+$;@B"*3C):@<$>$>$>

$$$$65:+$;@!,):"JSB:",C):!@<$>$>$>

$$$$$$$$8*9:+;J#$%73*!,$'$%+D1:NK8:,j5*31):+g"!5;<<$=

$$$$$$$$$$$$65:+$;@!,"),,3!@<$>$>$>

$$$$$$$$$$$$65:+;@J:75"+*!J!@<$>$>$>$

$$$$$$$$$$$$$$$$BD):"75;%73*!,NK=@J:75"+*!J!@?NK

$$$$$$$$$$$$$$$$$$nEpNK8:,j5*31):+u#]"8m"J:;@U@<<

$$$$$$$$$$$$$$$$$$$$65:+;%RNK,:&,jD+,:+,;<$:X$@i^f\e]NOiP@$

$$$$$$$$$$$$$$$$$$$$$$D)$%RNK,:&,jD+,:+,;<$:X$@[bo^m@<

$$$$$$$$$$$$65:+;@A*+1@<$>$>$>

$$$$$$$$$$$$1:B"C3,$>$>$>

$$$$65:+$;@()D7::1@<$>$>$>$

$$$$65:+$;@!C77:!!@<$>$>$>

Page 67: Perl 5.10 в 2010-м

BD) + 65:+

Page 68: Perl 5.10 в 2010-м

o((SSj[omSSO*+*SSl*!*,$— 07 Nov 2008 explore each distribution in a minicpan repository

BD)$;$7",75$<$=

$$65:+$;$%RNK*!";@f:,D(,SSbC7*1SS\&7:(,*D+SSoMfl@<$<$=

$$$$!"#F

$$$$W$C!"8:$!,CBB

$$$$):,C)+$QF

$$?

$$1:B"C3,$=$1*:$%R$?

?

Page 69: Perl 5.10 в 2010-м

//

Page 70: Perl 5.10 в 2010-м

\&(D),SSb:&*7"3$— 09 Oct 2008 Lexically scoped subroutine imports

):,C)+$RB"*3;$%(d8Z$%!CA$<$*B$%R$//$EF

*B$;$%",,)$//$0T\&(D),RHb:&*7"3%0*$<$=

Page 71: Perl 5.10 в 2010-м

\&(D),:)SS[)D&#$— 29 Jan 2010 Simplified symbol export & proxy dispatch

2:&(D),c$$$$'$8):($=$t$;$%R$//$2")8c$<$?$2RF

%1*!($//$2:&(D),c$

$$$$$$$$D)$(C!5$2:&(D),cZ$%1*!(F

Page 72: Perl 5.10 в 2010-м

\&(D),:)SS[)D&#$— 29 Jan 2010 Simplified symbol export & proxy dispatch

2:&(D),c$$$$'$8):($=$t$;$%R$//$2")8c$<$?$2RF

%1*!($//$2:&(D),c$

$$$$$$$$D)$(C!5$2:&(D),cZ$%1*!(FCool?

Page 73: Perl 5.10 в 2010-м

%1*!($//$2:&(D),c$

$$$$$$$$D)$(C!5$2:&(D),cZ$%1*!(F

(C!5$2:&(D),cZ$%1*!($C+3:!!$%1*!($//$2:&(D),c

Page 74: Perl 5.10 в 2010-м

\&(D),:)SS[)D&#$— 29 Jan 2010 Simplified symbol export & proxy dispatch

BD);$2R$<

$$$$=

$$$$$$$$*+1:&$%RZ$@S@

$$$$$$$$D)$+:&,F

$$$$$$$$*B;$%R$//$2:&(D),c$<

$$$$$$$$=

$$$$$$$$$$$$J#$%!DC)7:$$'$XC"3*B#R,DR):B$%RZ$%!DC)7:F

$$$$$$$$$$$$J#$%*+!,"33$'$XC"3*B#R,DR):B$%RZ$%7"33:)F

$$$$$$$$$$$$U%*+!,"33$$$'$U%!DC)7:F

$$$$$$$$?

$$$$$$$$:3!:

$$$$$$$$=

$$$$$$$$$$$$1*:$-uD8C!$%!DC)7:S$@%R@$+D,$:&(D),:1-F

$$$$$$$$?

$$$$?

Page 75: Perl 5.10 в 2010-м

\&(D),:)SS[)D&#$— 29 Jan 2010 Simplified symbol export & proxy dispatch

BD);$2R$<

$$$$=

$$$$$$$$*+1:&$%RZ$@S@

$$$$$$$$D)$+:&,F

$$$$$$$$*B;$%R$//$2:&(D),c$<

$$$$$$$$=

$$$$$$$$$$$$J#$%!DC)7:$$'$XC"3*B#R,DR):B$%RZ$%!DC)7:F

$$$$$$$$$$$$J#$%*+!,"33$'$XC"3*B#R,DR):B$%RZ$%7"33:)F

$$$$$$$$$$$$U%*+!,"33$$$'$U%!DC)7:F

$$$$$$$$?

$$$$$$$$:3!:

$$$$$$$$=

$$$$$$$$$$$$1*:$-uD8C!$%!DC)7:S$@%R@$+D,$:&(D),:1-F

$$$$$$$$?

$$$$?

G. 0. 65:+?

Page 76: Perl 5.10 в 2010-м

O"(3",$— 20 Jan 2010 The MAPLAT Web FrameworkThis Module is actually a stub (don't use it)

48 4$85)!, 3) &)5'-) ! ).3)" (Maplat::Helpers::CommandHelper) +%?)5'@</&%, 4+>$ 5.10 O"(3",O"(3",SSg:3(:)!SSuC*31mCJO"(3",SSg:3(:)!SSjelq*3,:)O"(3",SSg:3(:)!SSj"75:SSO:J7"75:1O"(3",SSg:3(:)!SSj"75:SSO:J7"75:1SSf:,[")!:)O"(3",SSg:3(:)!SSjDJJ"+1g:3(:)O"(3",SSg:3(:)!SSiue:)*"3*c:O"(3",SSg:3(:)!SSi",:e,)*+8!O"(3",SSg:3(:)!SSbD8DO"(3",SSg:3(:)!SSO"*3bD88:)O"(3",SSg:3(:)!SSO"!7D,O"(3",SSg:3(:)!SS["11*+8O"(3",SSg:3(:)!SSe,)*+8!O"(3",SSg:3(:)!SS]:&,bD88:)O"(3",SSs:AO"(3",SSs:ASSu"!:OD1C3:O"(3",SSs:ASSu)D6!:)sD)d")DC+1!O"(3",SSs:ASSjDJJ"+1{C:C:O"(3",SSs:ASSi:AC83D8O"(3",SSs:ASSi*)j3:"+:)O"(3",SSs:ASSiD7!e:")75O"(3",SSs:ASSiD7!e():"1e5::,O"(3",SSs:ASSiD7!sD)1[)D7:!!D)O"(3",SSs:ASS\))D)!

O"(3",SSs:ASSbD8*+O"(3",SSs:ASSbD8Dj"75:O"(3",SSs:ASSO:Jj"75:O"(3",SSs:ASSO:Jj"75:e*JO"(3",SSs:ASS[",5M:1*):7,*D+O"(3",SSs:ASS[D!,8):!iuO"(3",SSs:ASSe:+1O"*3O"(3",SSs:ASSe:!!*D+e:,,*+8!O"(3",SSs:ASSe,"+1")1q*:31!O"(3",SSs:ASSe,",*7j"75:O"(3",SSs:ASSe,",C!O"(3",SSs:ASS]:J(3",:j"75:O"(3",SSs:ASSh!:)e:,,*+8!O"(3",SSs:ASSl")*"A3:!oiOO"(3",SSsD)d:)O"(3",SSsD)d:)SSo1J*+jDJJ"+1!O"(3",SSsD)d:)SSu"!:OD1C3:O"(3",SSsD)d:)SSjDJJ"+1!O"(3",SSsD)d:)SSi*)j3:"+:)O"(3",SSsD)d:)SSO:Jj"75:O"(3",SSsD)d:)SSk)"73:iuO"(3",SSsD)d:)SS[D!,8):!iuO"(3",SSsD)d:)SSM:(D),*+8O"(3",SSsD)d:)SSe:+1O"*3

Page 77: Perl 5.10 в 2010-м

*B;%3*+:NK=*1?$//$4"7,*9:<$

O"(3",$— 20 Jan 2010 The MAPLAT Web FrameworkThis Module is actually a stub (don't use it)

48 4$85)!, 3) &)5'-) ! ).3)" (Maplat::Helpers::CommandHelper) +%?)5'@</&%, 4+>$ 5.10

Page 78: Perl 5.10 в 2010-м

("/3)!$33E/%)H*$3,AC+/ %-)0-+

Page 79: Perl 5.10 в 2010-м

[")!:SSO")("SSM:7D8+*c:)

$$$$$$$$J#$%7DJ(*3:1R):8:&$'$X)=

$$$$$$$$$$$$.f

$$$$$$$$$$$$;HIJo)["R():B*&K%():B*&<

$$$$$$$$$$$$;HIJo)["RJ",75K%):8:&<

$$$$$$$$$$$$;HIJo)["R!CBB*&K%!CBB*&<

$$$$$$$$?&J!F

Page 80: Perl 5.10 в 2010-м

#$%&' IVI3&+?$&&/*3E

Page 81: Perl 5.10 в 2010-м

C!:$P>EQEF

C!:$B:",C):$@SP>QE@F

o((SS]:J(3",:e:)9:)

Page 82: Perl 5.10 в 2010-м

$$$%!5D6R3*+:$00'$Q$

$$$$$$$*B$%!,#3:$:X$@M:8:&(SSjDJJD+@F

eJ"),O",75SSeC8")

Regexp-CharClasses

Page 83: Perl 5.10 в 2010-м

C!:$e6*,75F

!6*,75;%!,):"JNK7D1:7R,#(:<=

$ $ $ 7"!:$-9*1:D-$=

$ $ $ $ A3:!!$%!,):"JZ$@l*1:DSSqqJ(:8SSole,):"JSSl*1:D@F

$ $ $ $ (C!5$2!,):"J!Z$%!,):"JF

$ $ $ ?

$ $ $ 7"!:$-"C1*D-$=

$ $ $ $ A3:!!$%!,):"JZ$@l*1:DSSqqJ(:8SSole,):"JSSoC1*D@F

$ $ $ $ (C!5$2!,):"J!Z$%!,):"JF

$ $ $ ?

$ $ $ 7"!:$-!CA,*,3:-$=

$ $ $ $ A3:!!$%!,):"JZ$@l*1:DSSqqJ(:8SSole,):"JSSeCA,*,3:@F

$ $ $ $ (C!5$2!,):"J!Z$%!,):"JF

$ $ $ ?

$ $ $ :3!:$=

$ $ $ $ (C!5$2!,):"J!Z$%!,):"JF

$ $ $ ?

$ $ ?

C!:$*B$%p$K'$P>EQQZ$@1:():7",:@F

l*1:DSSqqJ(:8SSolqD)J",

Page 84: Perl 5.10 в 2010-м

J#$%():B*&$'$%!#JAD3R():B*&$00$%1:B"C3,R():B*&F

%():B*&$'$X)0%():B*&0&J!$*B$1:B*+:1$%():B*&F

J#$%!CBB*&$'$%!#JAD3R!CBB*&$00$%1:B"C3,R!CBB*&F

%!CBB*&$'$X)0%!CBB*&0&J!$*B$1:B*+:1$%!CBB*&F

[")!:SSO")("SSM:7D8+*c:)

Page 85: Perl 5.10 в 2010-м

%*![:)J"b*+d$'$

$$$;37;%8C*1NK",,;@*![:)J"b*+d@<$00$@,)C:@<$

$$$:X$@,)C:@<F

o((SSMeeab:"B+D1:$— 02 Feb 2010post RSS feeds to newsgroups

Page 86: Perl 5.10 в 2010-м

8*9:+$;$%(")"J!nEp$00$@@$<$=

$$$$65:+$;A3:!!:1$%R$yy$%RNK*!";@O",5SSu*8^+,@<<$=

$$$$$$$$%A*,$'$%73"!!NK!,)*+8aA*,;!5*B,;2(")"J!<NK"!RA*+;<<F

$$$$?

$$$$65:+$;J0T.1G%0<$=

$$$$$$$$%A*,$'$%73"!!NK*+,aA*,;!5*B,;2(")"J!<<F

$$$$?

$$$$65:+$;J0TEnAupnEQpG%0<$=

$$$$$$$$%A*,$'$%73"!!NK!,)*+8aA*,;!5*B,;2(")"J!<<F

$$$$?

$$$$65:+$;J0Tn%w\Mk%km\pG%0<$=

$$$$$$$$%A*,$'$%73"!!NKA*,aA*,;!5*B,;2(")"J!<<F

$$$$?

u*,J"!dSSi","$— 03 Oct 2008 Handle unlimited length bitmasks in an easy and flexible way

Page 87: Perl 5.10 в 2010-м

65*3:$;$J#$;$%D(,*D+Z$%9"3C:$<$'$:"75$4=%")8!?$<$=

$$$$$8*9:+$;%D(,*D+<$=

$$$$$$$$$65:+$;@)C3:!@<$=

$$$$$$$$$65:+$;@,:)J*+"3!@<$=

$$$$$$$$$65:+$;@!,"),@<$=

$$$$$$$$$65:+$;@"7"1:J*7@<$=

$$$$$$$$$65:+$;@1:B"C3,R+C33R9"3C:@<$=

$$$$$$$$$65:+$;@1:B"C3,R"7,*D+@<$=

$$$$$$$$$65:+$;@1:B"C3,R3:&R():B*&@<$=

$$$$$$$$$65:+$;@1:B"C3,R3:&R!CBB*&@<$=

$$$$$$$$$65:+$;@"JA*8CDC!R3:&@<$=

$$$$$$$$$65:+$;@!,)*(@<$=

$$$$$$$$$65:+$;@,)"7:RB*3:R5"+13:@<$=

$$$$$$$$$65:+$;@,)"7:R"7,*D+!@<$=

$$$$$$$$$65:+$;@,)"7:R3:&@<$=

$$$$$$$$$65:+$;@,)"7:R3:&R,)*:!@<$=

$$$$$$$$$65:+$;@,)"7:R3:&RJ",75:!@<$=

$$$$$$$$$65:+$;@,)"7:R9"3C:!@<$=

$$$$$$$$$65:+$;@,)"7:R)C3:!@<$=

$$$$$$$$$65:+$;@,)"7:R!,)*+8!@<$=

[")!:SSO")("SS^+,:)+"3

$$$$$$$$$65:+$;@,)"7:R():1:B*+:1!@<$=

$$$$$$$$$65:+$;@,)"7:R*,:)",*D+!@<$=

$$$$$$$$$65:+$;@,)"7:R()*D)*,*:!@<$=

$$$$$$$$$65:+$;@,)"7:R7DJ(3:,*D+!@<$=

$$$$$$$$$65:+$;@3D7",*D+R7"33A"7d@<$=

$$$$$$$$$65:+$;@D("XC:@<$=

$$$$$$$$$65:+$;@7#73:R"7,*D+@<$=

$$$$$$$$$65:+$;@7#73:R1:(,5@<$=

$$$$$$$$$65:+$;@6")+*+8!@<$=

$$$$$$$$$65:+$;@7D1:R3*+:!@<$=

$$$$$$$$$65:+$;@"33D6R)"6R!DC)7:@<$=

$$$$$$$$$65:+$;@J"&R(")!:!@<$=

$$$$$$$$$65:+$;@9:)!*D+@<$=

$$$$$$$$$65:+$;@!:J"+,*7!@<$=

$$$$$$$$$65:+$;@3:&R():"JA3:@<$=

$$$$$$$$$65:+$;@():"JA3:@<$=

$$$$$$$$$1:B"C3,$=

Page 88: Perl 5.10 в 2010-м

J#$%",,)c

$$$$$$$$$$$'$3D7"3$%XC:NK=$",,)*A$?

$$$$$$$$$$$'$%YDAa",,)c=$%YDAR*1$?

$$$$$$$$$$$00'$%XC:NKJ:)8:R",,)*A;$%YDAR*1$<

$$$$$$$$$$$F

[")"33:3SSi:(:+1$— 12 Aug 2009 Parallel-dependent dispatch of perl or shell code

Page 89: Perl 5.10 в 2010-м

BD):"75$J#$%!5*(J:+,$;2=%):!(D+!:NK!5*(J:+,?<$=

$$$$!"#$->''''''''''''''''''''''''''''''''''''''''''>-F

$$$$!"#$-V$e5*(J:+,$%7DC+,$$$$$$$$$$$$$$$$$$$$$$$$$$V-F

$$$$!"#$%!5*(J:+,NK!:)*"3*c:NK1)"6F

$$$$!"#$--F

$$$$*B$;%!:3BNK9:)AD!:<$=

$$$$$$$$!"#$%!5*(J:+,NK&J3NK,De,)*+8;Q<F

$$$$?

$$$$%7DC+,$GGF

?

[")"33:3SSi:(:+1$— 12 Aug 2009 Parallel-dependent dispatch of perl or shell code

Page 90: Perl 5.10 в 2010-м

C!:$P>EQEEEEF

()*+,$-.+-F

()*+,$-$75"(,:)!.+-F

iliSSM:"1$— 16 Nov 2008 libdvdread perl binding

Page 91: Perl 5.10 в 2010-м

1DR!DJ:,5*+8;<$00$):,C)+$mk]RqkhmiF

Page 92: Perl 5.10 в 2010-м

1DR!DJ:,5*+8;<$00$):,C)+$mk]RqkhmiF

*!R3:"(R#:");<$$$$$H$;%+$'$`xx<$

$$$$S$;%+$'$`xP<

$$$$F

Page 93: Perl 5.10 в 2010-м

#$%&' VJ./ ?*+"/3+&'

Page 94: Perl 5.10 в 2010-м

#$%&' VJ./ ?*+"/3+&'+ -$- 3/ 3$%&<?+&' 3$ 2*$05+

Page 95: Perl 5.10 в 2010-м

=$- !-5A>+&'

Page 96: Perl 5.10 в 2010-м

C!:$9P>QEF

C!:$OD1:)+SS[:)3F

C!:$7DJJD+SS!:+!:F

Page 97: Perl 5.10 в 2010-м

C!:$B:",C):$@SP>QE>Q@FC!:$B:",C):$@SP>QE@F

Page 98: Perl 5.10 в 2010-м

C!:$B:",C):$@SP>QE>Q@FC!:$B:",C):$@SP>QE@F

5.10 >+&$/& ?)53)%&'A

Page 99: Perl 5.10 в 2010-м

C!:$B:",C):$@SP>QE>Q@FC!:$B:",C):$@SP>QE@F

5.10 >+&$/& ?)53)%&'A

C!:$B:",C):$@SP>QE>Q@FC!:$B:",C):$@SP>QE@F

5.10.1 — &)5'-) ?/*!E/ .!/ >$%&+

Page 100: Perl 5.10 в 2010-м

C!:$B:",C):$@SP>QE>Q@FC!:$B:",C):$@SP>QE@F

5.10 >+&$/& ?)53)%&'A

C!:$B:",C):$@SP>QE>Q@FC!:$B:",C):$@SP>QE@F

C!:$B:",C):$@SP>QE>|@F

5.10.1 — &)5'-) ?/*!E/ .!/ >$%&+

Page 101: Perl 5.10 в 2010-м

C!:$:9:)#65:):$X;B:",C):$@SP>QE@<FC!:$O#OD1C3:F

O#OD1C3:NKJ#R!CA;%%<F

Page 102: Perl 5.10 в 2010-м

C!:$:9:)#65:):$X;B:",C):$@SP>QE@<FC!:$O#OD1C3:F

O#OD1C3:NKJ#R!CA;%%<F

("7d"8:$O#OD1C3:F

!CA$J#R!CA$=$$$$!"#$%RnQpF?

QF

Page 103: Perl 5.10 в 2010-м

K$(:)3$N\$-!"#$%%F-

Page 104: Perl 5.10 в 2010-м

// .5, ?*)!/*-+ !H)F./3+, ! %?+%)-

Page 105: Perl 5.10 в 2010-м

*B$;%3"!,R+"J:$//$2",,:+1::!<$=>>>?

Page 106: Perl 5.10 в 2010-м

// .5, %*$!3/3+, %?+%-)!

Page 107: Perl 5.10 в 2010-м

J#$2"$'$;QZ$`Z$P<F

J#$2A$'$;QZ$`Z$P<F

!"#$2"$//$2AF$W$Q

Page 108: Perl 5.10 в 2010-м

J#$2"$'$;QZ$`Z$$$$$$P<F

J#$2A$'$;QZ$X)0.10Z$P<F

!"#$2"$//$2AF$W$Q

K%&)*)F3), :&) 3/ ?):5/"/3&3)/ %*$!3/3+/

Page 109: Perl 5.10 в 2010-м

// .5, ?*)!/*-+ $*2<"/3&)!

Page 110: Perl 5.10 в 2010-м

4$>0!DJ:R()D8)"JJ:$NN1:AC8$N1

Page 111: Perl 5.10 в 2010-м

4$>0!DJ:R()D8)"JJ:$NN1:AC8$N1

!"#$@i:AC8@$$*B$@NN1:AC8@$//$2oMflF

!"#$@i":JD+@$*B$@N1@$//$2oMflF

Page 112: Perl 5.10 в 2010-м

4$>0!DJ:R()D8)"JJ:$NN1:AC8$N1

!"#$@i:AC8@$$*B$@NN1:AC8@$//$2oMflF

!"#$@i":JD+@$*B$@N1@$//$2oMflF

!"#$@g:3(@$

$$$$*B$0T;N5VNN5:3(<%0$//$2oMflF

Page 113: Perl 5.10 в 2010-м

L/?)>-$ 00

Page 114: Perl 5.10 в 2010-м

J#$%*($'$

$$$$%\ml=}Rg]][RqkMsoMi\iRqkM?$00

$$$$%\ml=g]][R}RM\obR^[?$$$$$$$00

$$$$%\ml=M\Ok]\RoiiM?F

Page 115: Perl 5.10 в 2010-м

J#$%*($'$

$$$$%("8:NK(")"J;@):XC:!,R*(@<$00

$$$$%\ml=}Rg]][RqkMsoMi\iRqkM?$00

$$$$%\ml=g]][R}RM\obR^[?$$$$$$$00

$$$$%\ml=M\Ok]\RoiiM?F

M/2-) )03)!5,&'

Page 116: Perl 5.10 в 2010-м

!,",: .5, %>/&>+-)!

Page 117: Perl 5.10 в 2010-м

!CA$7DC+,$=

$$$$!,",:$%7F

$$$$):,C)+$GG%7F

?

!"#$7DC+,;<F$W$Q

!"#$7DC+,;<F$W$a

Page 118: Perl 5.10 в 2010-м

!,",:$%7DC+,F

C+3:!!$;%7DC+,<$=

$$$$W$e{bN~�����$!:3:7,$7DC+,;U<

?

J#$%DBB!:,$'$*+,$)"+1$%7DC+,F

W$e{bN~�����$

W$!:3:7,$>>>$3*J*,$%DBB!:,Z$Q

Page 119: Perl 5.10 в 2010-м

BD) + 65:+

Page 120: Perl 5.10 в 2010-м

C!:$9P>QEF

J#$2"))"#$'$;Q>>aE<FJ#$%7DC+,$'$EFBD);2"))"#<$=$$$$65:+;0nEa_xrp%0<$=$$$$$$$$%7DC+,GGF

$$$$?$$$$!"#F?

!"#$%7DC+,F

Page 121: Perl 5.10 в 2010-м

C!:$9P>QEF

J#$2"))"#$'$;Q>>aE<FJ#$%7DC+,$'$EFBD);2"))"#<$=$$$$65:+;0nEa_xrp%0<$=

$$$$$$$$%7DC+,GGF

$$$$?$$$$!"#F?

!"#$%7DC+,F$$W$QE

Page 122: Perl 5.10 в 2010-м

C!:$9P>QEF

J#$2"))"#$'$;Q>>aE<FJ#$%7DC+,$'$EFBD);2"))"#<$=$$$$65:+;0nEa_xrp%0<$=

$$$$$$$$%7DC+,GGF

$$$$?$$$$!"#F?

!"#$%7DC+,F$$W$QE

Page 123: Perl 5.10 в 2010-м

Q

`

P

|

QQ

Q`

QP

Q|

Q�

C!:$9P>QEF

J#$2"))"#$'$;Q>>aE<FJ#$%7DC+,$'$EFBD);2"))"#<$=$$$$65:+;0nEa_xrp%0<$=

$$$$$$$$%7DC+,GGF

$$$$?$$$$!"#F?

!"#$%7DC+,F$$W$QE

Page 124: Perl 5.10 в 2010-м

C!:$9P>QEF

J#$2"))"#$'$;Q>>aE<FJ#$%7DC+,$'$EFBD);2"))"#<$=$$$$65:+;0nEa_xrp%0<$=

$$$$$$$$%7DC+,GGF$7D+,*+C:F

$$$$?$$$$!"#F?

!"#$%7DC+,F$$W$QE

Page 125: Perl 5.10 в 2010-м

K$(:)3P>QE$N\$.

$$-!"#$BD)$Q>>`-

K$(:)3x$N:$.

$$-!"#$BD)$Q>>`-

Page 126: Perl 5.10 в 2010-м

K$(:)3P>QE$N\$.

$$-!"#$BD)$Q>>`-

K$(:)3x$N:$.

$$-!"#$BD)$Q>>`-

Q

a

`

.+

.+

.+

Page 127: Perl 5.10 в 2010-м

=*)"/ &)2)

G3)2) +3&/*/%3EH3)!EH !)@")F3)%&/8 */2<5,*3EH !E*$F/3+8

Page 128: Perl 5.10 в 2010-м

#$%&' V.XRR\miRR

I3.*/8 N+&)[email protected] talks.shitov.ru