SlideShare a Scribd company logo
1 of 128
Download to read offline
Perl 5.10
в 2010-м
Часть I
История
и статистика
5.10.0
18 декабря 2007
Сегодня
20 февраля 2010
Прошло
795 дней
За это время
    5.10.1
За это время
   5.11.0, 5.11.1,
5.11.2, 5.11.3, 5.11.4
Всего на CPAN
 ~80 000 модулей
Всего на CPAN
~20 000 дистрибутивов
Всего на CPAN
 ~8000 авторов
Как часто
 используют
фичи Perl 5.10?
?
~ 200 модулей
~ 100 авторов
Часть II
Фичи Perl 5.10
!"#
   !"#$%&
     ''
()*+,$-%&.+-
//
%"$//$0.10
%"$//$23*!,
23*!,$//$45"!5
!6*,75
8*9:+;%&<$=
$$$$65:+;0"0<$=>>>?
$$$$65:+;@A@<$=>>>?
$$$$1:B"C3,$$$=>>>?
?
!,",:
!CA$7DC+,:)$=
$$$$!,",:$%7$'$EF
$$$$):,C)+$GG%7F
?
):8:&:!
;HI+"J:K<   4G
.L          4N
.M          .8I+"J:K
00
 %7*,#$'$%")8$00$@OD!7D6@F

%9"7"+7#=7*,#?$00'$@OD!7D6@F
Часть III
Как пишут другие
Как включить
C!:$P>EQEEEEF
C!:$P>EQEEQF
C!:$P>EQEF
C!:$P>EQEREEEF
C!:$P>QE>EF
C!:$9P>QE>EF
C!:$9P>QEF
C!:$B:",C):$@SP>QE@F
P>QE>E
         9P>QE>E
         9P>QE

vector string
version string

сокращенно — v-string
!"# для отладки
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
$$$$?


 [D1SS3:J:+,"3SS])"+!BD)J:)SS^+73C1:$— 08 Jan 2010
 include output via files and commands
00 и 00'
для значений по умолчанию
%(D),$00'$$P_`aF
%5D!,$00'$@3D7"35D!,@F

%7D3$$00'$@@F




[8SSbD"1:) — 07 Jul 2008
Perl extension for loading Postgres tables
%",,)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
!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$
$$$$$$$$$$$$$$$$$$$$$jkMSS,*J:F
?




B*&:1,*J: — 14 Aug 2008
lexical pragma to fix the epoch offset for time related functions
!"#$%"+!6:)$00$
$$$$-^$1D+@,$d+D6$:+DC85$,D$"+!6:)$#DC$#:,>-F




g"*3D — 29 Jan 2010
A pluggable Markov engine analogous to MegaHAL
J#$%J")("R9:)!*D+$$'$
$$$$%[")!:SSO")("SSlMe^km$00$@C+1:B@F
J#$%!DC)7:R9:)!*D+$'$
$$$$%[")!:SSO")("SSeDC)7:SSlMe^km$00$@C+1:B@F

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




[")!:SSO")(" — 14 Dec 2008
Generate Parsers from any BNF grammar
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^+,:)+"3SS9"3C",D)$— 14 Dec 2008
 Generate Parsers from any BNF grammar
J#$%,)"7:RB5$'$%")8R,)"7:RB5$00$;Ue]iMM<F

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




[")!:SSO")("SSM:7D8+*c:)$— 14 Dec 2008
Generate Parsers from any BNF grammar
00 внутри ):,C)+
):,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 2009
f"J:!SSM*!d$— 18 Oct 2008
!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 2010
post RSS feeds to newsgroups
!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 2010
post RSS feeds to newsgroups
):,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 2010
post RSS feeds to newsgroups
):,C)+$внутри 00
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 2010
post RSS feeds to newsgroups
):,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*+81*,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 2010
post RSS feeds to newsgroups
!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 2010
post RSS feeds to newsgroups
Несколько$00
$$$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
65:+ со скаляром
$$$$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
$$$$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
65:+ для выбора варианта
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
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
65:+
с булевым выражением
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
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
65:+
с регулярным выражением
!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
65:+ и ):B
$$$$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
65:+ и C+1:B
8*9:+$;%Q<$=
$$$$65:+$;C+1:B<$$=):,C)+?
$$$$65:+$;%3:B,<$$=$%1:(,5GGF$?
$$$$65:+$;%)*85,<$=$%1:(,5NNF$?
?




[")!:SSO")("SSb:&
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:)
Вложенные 8*9:+065:+
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^fe]NOiP@$
$$$$$$$$$$$$$$$$$$$$$$D)$%RNK,:&,jD+,:+,;<$:X$@[bo^m@<
$$$$$$$$$$$$65:+;@A*+1@<$>$>$>
$$$$$$$$$$$$1:B"C3,$>$>$>
$$$$65:+$;@()D7::1@<$>$>$>
$$$$65:+$;@!C77:!!@<$>$>$>




[kSSjDJ(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^fe]NOiP@$
$$$$$$$$$$$$$$$$$$$$$$D)$%RNK,:&,jD+,:+,;<$:X$@[bo^m@<
$$$$$$$$$$$$65:+;@A*+1@<$>$>$>
$$$$$$$$$$$$1:B"C3,$>$>$>
$$$$65:+$;@()D7::1@<$>$>$>$
$$$$65:+$;@!C77:!!@<$>$>$>




[kSSjDJ(D+:+,SSz"AA:)$— 22 Mar 2009
A POE Component for communicating over Jabber
BD) и 65:+
BD)$;$7",75$<$=
$$65:+$;$%RNK*!";@f:,D(,SSbC7*1SS&7:(,*D+SSoMfl@<$<$=
$$$$!"#F
$$$$W$C!"8:$!,CBB
$$$$):,C)+$QF
$$?
$$1:B"C3,$=$1*:$%R$?
?




o((SSj[omSSO*+*SSl*!*,$— 07 Nov 2008
explore each distribution in a minicpan repository
//
):,C)+$RB"*3;$%(d8Z$%!CA$<$*B$%R$//$EF



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




&(D),SSb:&*7"3$— 09 Oct 2008
Lexically scoped subroutine imports
2:&(D),c$$$$'$8):($=$t$;$%R$//$2")8c$<$?$2RF



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




&(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
                                           Cool?




&(D),:)SS[)D&#$— 29 Jan 2010
Simplified symbol export & proxy dispatch
%1*!($//$2:&(D),c$
$$$$$$$$D)$(C!5$2:&(D),cZ$%1*!(F




(C!5$2:&(D),cZ$%1*!($C+3:!!$%1*!($//$2:&(D),c
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
$$$$$$$$?
$$$$?




&(D),:)SS[)D&#$— 29 Jan 2010
Simplified symbol export & proxy dispatch
BD);$2R$<
$$$$=
$$$$$$$$*+1:&$%RZ$@S@
$$$$$$$$D)$+:&,F                                 М. б. 65:+?
$$$$$$$$*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
$$$$$$$$?
$$$$?




&(D),:)SS[)D&#$— 29 Jan 2010
Simplified symbol export & proxy dispatch
48 файлов, но только в одном
(Maplat::Helpers::CommandHelper)
 используется фича 5.10
O"(3",                                         O"(3",SSs:ASSbD8*+
O"(3",SSg:3(:)!SSuC*31mCJ                      O"(3",SSs:ASSbD8Dj"75:
O"(3",SSg:3(:)!SSjelq*3,:)                     O"(3",SSs:ASSO:Jj"75:
O"(3",SSg:3(:)!SSj"75:SSO:J7"75:1              O"(3",SSs:ASSO:Jj"75:e*J
O"(3",SSg:3(:)!SSj"75:SSO:J7"75:1SSf:,[")!:)   O"(3",SSs:ASS[",5M:1*):7,*D+
O"(3",SSg:3(:)!SSjDJJ"+1g:3(:)                 O"(3",SSs:ASS[D!,8):!iu
O"(3",SSg:3(:)!SSiue:)*"3*c:                   O"(3",SSs:ASSe:+1O"*3
O"(3",SSg:3(:)!SSi",:e,)*+8!                   O"(3",SSs:ASSe:!!*D+e:,,*+8!
O"(3",SSg:3(:)!SSbD8D                          O"(3",SSs:ASSe,"+1")1q*:31!
O"(3",SSg:3(:)!SSO"*3bD88:)                    O"(3",SSs:ASSe,",*7j"75:
O"(3",SSg:3(:)!SSO"!7D,                        O"(3",SSs:ASSe,",C!
O"(3",SSg:3(:)!SS["11*+8                       O"(3",SSs:ASS]:J(3",:j"75:
O"(3",SSg:3(:)!SSe,)*+8!                       O"(3",SSs:ASSh!:)e:,,*+8!
O"(3",SSg:3(:)!SS]:&,bD88:)                    O"(3",SSs:ASSl")*"A3:!oiO
O"(3",SSs:A                                    O"(3",SSsD)d:)
O"(3",SSs:ASSu"!:OD1C3:                        O"(3",SSsD)d:)SSo1J*+jDJJ"+1!
O"(3",SSs:ASSu)D6!:)sD)d")DC+1!                O"(3",SSsD)d:)SSu"!:OD1C3:
O"(3",SSs:ASSjDJJ"+1{C:C:                      O"(3",SSsD)d:)SSjDJJ"+1!
O"(3",SSs:ASSi:AC83D8                          O"(3",SSsD)d:)SSi*)j3:"+:)
O"(3",SSs:ASSi*)j3:"+:)                        O"(3",SSsD)d:)SSO:Jj"75:
O"(3",SSs:ASSiD7!e:")75                        O"(3",SSsD)d:)SSk)"73:iu
O"(3",SSs:ASSiD7!e():"1e5::,                   O"(3",SSsD)d:)SS[D!,8):!iu
O"(3",SSs:ASSiD7!sD)1[)D7:!!D)                 O"(3",SSsD)d:)SSM:(D),*+8
O"(3",SSs:ASS))D)!                            O"(3",SSsD)d:)SSe:+1O"*3

O"(3",$— 20 Jan 2010
The MAPLAT Web Framework
This Module is actually a stub (don't use it)
48 файлов, но только в одном
 (Maplat::Helpers::CommandHelper)
  используется фича 5.10




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



 O"(3",$— 20 Jan 2010
 The MAPLAT Web Framework
 This Module is actually a stub (don't use it)
Именованные
сохраняющие скобки
$$$$$J#$%7DJ(*3:1R):8:&$'$X)=
$$$$$$$$$.f
$$$$$$$$$;HIJo)["R():B*&K%():B*&<
$$$$$$$$$;HIJo)["RJ",75K%):8:&<
$$$$$$$$$;HIJo)["R!CBB*&K%!CBB*&<
$$$$$?&J!F




 [")!:SSO")("SSM:7D8+*c:)
Часть IV
Антипаттерны
C!:$P>EQEF
            C!:$B:",C):$@SP>QE@F




o((SS]:J(3",:e:)9:)
$$$%!5D6R3*+:$00'$Q$
$$$$$$$*B$%!,#3:$:X$@M:8:&(SSjDJJD+@F




  eJ"),O",75SSeC8")
  Regexp-CharClasses
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",
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:)
%*![:)J"b*+d$'$
$$$;37;%8C*1NK",,;@*![:)J"b*+d@<$00$@,)C:@<$
$$$:X$@,)C:@<F




o((SSMeeab:"B+D1:$— 02 Feb 2010
post RSS feeds to newsgroups
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%wMk%kmpG%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
65*3:$;$J#$;$%D(,*D+Z$%9"3C:$<$'$:"75$4=%")8!?$<$=
$$$$$8*9:+$;%D(,*D+<$=
$$$$$$$$$65:+$;@)C3:!@<$=
$$$$$$$$$65:+$;@,:)J*+"3!@<$=          $$$$$$$$$65:+$;@,)"7:R():1:B*+:1!@<$=
$$$$$$$$$65:+$;@!,"),@<$=              $$$$$$$$$65:+$;@,)"7:R*,:)",*D+!@<$=
$$$$$$$$$65:+$;@"7"1:J*7@<$=           $$$$$$$$$65:+$;@,)"7:R()*D)*,*:!@<$=
$$$$$$$$$65:+$;@1:B"C3,R+C33R9"3C:@<$= $$$$$$$$$65:+$;@,)"7:R7DJ(3:,*D+!@<$=
$$$$$$$$$65:+$;@1:B"C3,R"7,*D+@<$=     $$$$$$$$$65:+$;@3D7",*D+R7"33A"7d@<$=
$$$$$$$$$65:+$;@1:B"C3,R3:&R():B*&@<$= $$$$$$$$$65:+$;@D("XC:@<$=
$$$$$$$$$65:+$;@1:B"C3,R3:&R!CBB*&@<$= $$$$$$$$$65:+$;@7#73:R"7,*D+@<$=
$$$$$$$$$65:+$;@"JA*8CDC!R3:&@<$=      $$$$$$$$$65:+$;@7#73:R1:(,5@<$=
$$$$$$$$$65:+$;@!,)*(@<$=              $$$$$$$$$65:+$;@6")+*+8!@<$=
$$$$$$$$$65:+$;@,)"7:RB*3:R5"+13:@<$= $$$$$$$$$65:+$;@7D1:R3*+:!@<$=
$$$$$$$$$65:+$;@,)"7:R"7,*D+!@<$=      $$$$$$$$$65:+$;@"33D6R)"6R!DC)7:@<$=
$$$$$$$$$65:+$;@,)"7:R3:&@<$=          $$$$$$$$$65:+$;@J"&R(")!:!@<$=
$$$$$$$$$65:+$;@,)"7:R3:&R,)*:!@<$=    $$$$$$$$$65:+$;@9:)!*D+@<$=
$$$$$$$$$65:+$;@,)"7:R3:&RJ",75:!@<$= $$$$$$$$$65:+$;@!:J"+,*7!@<$=
$$$$$$$$$65:+$;@,)"7:R9"3C:!@<$=       $$$$$$$$$65:+$;@3:&R():"JA3:@<$=
$$$$$$$$$65:+$;@,)"7:R)C3:!@<$=        $$$$$$$$$65:+$;@():"JA3:@<$=
$$$$$$$$$65:+$;@,)"7:R!,)*+8!@<$=      $$$$$$$$$1:B"C3,$=




[")!:SSO")("SS^+,:)+"3
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
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
C!:$P>EQEEEEF

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




iliSSM:"1$— 16 Nov 2008
libdvdread perl binding
1DR!DJ:,5*+8;<$00$):,C)+$mk]RqkhmiF
1DR!DJ:,5*+8;<$00$):,C)+$mk]RqkhmiF




*!R3:"(R#:");<$
$$$$H$;%+$'$`xx<$
$$$$S$;%+$'$`xP<
$$$$F
Часть V
Где применить
Часть V
Где применить
и как не наступить на грабли
Как включить
C!:$9P>QEF

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

C!:$7DJJD+SS!:+!:F
C!:$B:",C):$@SP>QE>Q@F
C!:$B:",C):$@SP>QE@F
C!:$B:",C):$@SP>QE>Q@F
C!:$B:",C):$@SP>QE@F

           5.10 читает полностью
C!:$B:",C):$@SP>QE>Q@F
C!:$B:",C):$@SP>QE@F

           5.10 читает полностью



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

          5.10.1 — только первые две части
C!:$B:",C):$@SP>QE>Q@F
C!:$B:",C):$@SP>QE@F

           5.10 читает полностью



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

          5.10.1 — только первые две части
C!:$B:",C):$@SP>QE>|@F
C!:$:9:)#65:):$X;B:",C):$@SP>QE@<F
C!:$O#OD1C3:F
O#OD1C3:NKJ#R!CA;%%<F
C!:$:9:)#65:):$X;B:",C):$@SP>QE@<F
C!:$O#OD1C3:F
O#OD1C3:NKJ#R!CA;%%<F



("7d"8:$O#OD1C3:F
!CA$J#R!CA$=
$$$$!"#$%RnQpF
?
QF
K$(:)3$N$-!"#$%%F-
// для проверки
вхождения в список
*B$;%3"!,R+"J:$//$2",,:+1::!<$=>>>?
// для сравнения списков
J#$2"$'$;QZ$`Z$P<F
J#$2A$'$;QZ$`Z$P<F
!"#$2"$//$2AF$W$Q
J#$2"$'$;QZ$`Z$$$$$$P<F
J#$2A$'$;QZ$X)0.10Z$P<F
!"#$2"$//$2AF$W$Q




Осторожно, это не поэлементное сравнение
// для проверки аргументов
4$>0!DJ:R()D8)"JJ:$NN1:AC8$N1
4$>0!DJ:R()D8)"JJ:$NN1:AC8$N1


!"#$@i:AC8@$$*B$@NN1:AC8@$//$2oMflF
!"#$@i":JD+@$*B$@N1@$//$2oMflF
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
Цепочка 00
J#$%*($'$
$$$$%ml=}Rg]][RqkMsoMiiRqkM?$00
$$$$%ml=g]][R}RMobR^[?$$$$$$$00
$$$$%ml=MOk]RoiiM?F
J#$%*($'$
$$$$%("8:NK(")"J;@):XC:!,R*(@<$00
$$$$%ml=}Rg]][RqkMsoMiiRqkM?$00
$$$$%ml=g]][R}RMobR^[?$$$$$$$00
$$$$%ml=MOk]RoiiM?F



           Легко обновлять
!,",: для счетчиков
!CA$7DC+,$=
$$$$!,",:$%7F
$$$$):,C)+$GG%7F
?


!"#$7DC+,;<F$W$Q
!"#$7DC+,;<F$W$a
!,",:$%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
BD) и 65:+
C!:$9P>QEF
J#$2"))"#$'$;Q>>aE<F
J#$%7DC+,$'$EF
BD);2"))"#<$=
$$$$65:+;0nEa_xrp%0<$=
$$$$$$$$%7DC+,GGF
$$$$?
$$$$!"#F
?
!"#$%7DC+,F
C!:$9P>QEF
J#$2"))"#$'$;Q>>aE<F
J#$%7DC+,$'$EF
BD);2"))"#<$=
$$$$65:+;0nEa_xrp%0<$=
$$$$$$$$%7DC+,GGF
$$$$?
$$$$!"#F
?
!"#$%7DC+,F$$W$QE
C!:$9P>QEF
J#$2"))"#$'$;Q>>aE<F
J#$%7DC+,$'$EF
BD);2"))"#<$=
$$$$65:+;0nEa_xrp%0<$=
$$$$$$$$%7DC+,GGF
$$$$?
$$$$!"#F
?
!"#$%7DC+,F$$W$QE
Q
C!:$9P>QEF
                         `
J#$2"))"#$'$;Q>>aE<F
J#$%7DC+,$'$EF           P
BD);2"))"#<$=            |
$$$$65:+;0nEa_xrp%0<$=   „
$$$$$$$$%7DC+,GGF        QQ
$$$$?                    Q`
$$$$!"#F                 QP
?                        Q|
!"#$%7DC+,F$$W$QE        Q„
C!:$9P>QEF
J#$2"))"#$'$;Q>>aE<F
J#$%7DC+,$'$EF
BD);2"))"#<$=
$$$$65:+;0nEa_xrp%0<$=
$$$$$$$$%7DC+,GGF$7D+,*+C:F
$$$$?
$$$$!"#F
?
!"#$%7DC+,F$$W$QE
K$(:)3P>QE$N$.
$$-!"#$BD)$Q>>`-



K$(:)3x$N:$.
$$-!"#$BD)$Q>>`-
K$(:)3P>QE$N$.    Q
$$-!"#$BD)$Q>>`-   a
                   `

K$(:)3x$N:$.       .+
$$-!"#$BD)$Q>>`-   .+
                   .+
Кроме того

  Много интересных
 новых возможностей
регулярных выражений
Часть V.X
RRmiRR


Андрей Шитов
andy@shitov.ru   talks.shitov.ru

More Related Content

Similar to Perl 5.10 в 2010-м

Танки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
Танки_в_Лунапарке: нагрузочное_тестирование_в_ЯндексеТанки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
Танки_в_Лунапарке: нагрузочное_тестирование_в_ЯндексеYandex
 
Web API Directory: Statistics, Trends and Good Practices
Web API Directory: Statistics, Trends and Good PracticesWeb API Directory: Statistics, Trends and Good Practices
Web API Directory: Statistics, Trends and Good Practicesmashups
 
LAMP_TRAINING_SESSION_6
LAMP_TRAINING_SESSION_6LAMP_TRAINING_SESSION_6
LAMP_TRAINING_SESSION_6umapst
 
SEO - It Works Even if You Don’t Know How or Why
SEO - It Works Even if You Don’t Know How or Why SEO - It Works Even if You Don’t Know How or Why
SEO - It Works Even if You Don’t Know How or Why Wolfgang Weicht
 
Implementing a home gateway with Linux - Firewall - Router - Proxy server - D...
Implementing a home gateway with Linux - Firewall - Router - Proxy server - D...Implementing a home gateway with Linux - Firewall - Router - Proxy server - D...
Implementing a home gateway with Linux - Firewall - Router - Proxy server - D...Geert Van Pamel
 
[Harvard CS264] 04 - Intermediate-level CUDA Programming
[Harvard CS264] 04 - Intermediate-level CUDA Programming[Harvard CS264] 04 - Intermediate-level CUDA Programming
[Harvard CS264] 04 - Intermediate-level CUDA Programmingnpinto
 
The Why & How Of Social Media In English
The Why & How Of Social Media In EnglishThe Why & How Of Social Media In English
The Why & How Of Social Media In EnglishKristin McCullough
 
Experience Mining and Dialogues with a Pattern Language for Creative Learning
Experience Mining and Dialogues with a Pattern Language for Creative LearningExperience Mining and Dialogues with a Pattern Language for Creative Learning
Experience Mining and Dialogues with a Pattern Language for Creative LearningTakashi Iba
 
Al Fazl International - 1st January 2016 Weekly UK
Al Fazl International - 1st January  2016 Weekly UKAl Fazl International - 1st January  2016 Weekly UK
Al Fazl International - 1st January 2016 Weekly UKmuzaffertahir9
 

Similar to Perl 5.10 в 2010-м (20)

Танки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
Танки_в_Лунапарке: нагрузочное_тестирование_в_ЯндексеТанки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
Танки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
 
Web API Directory: Statistics, Trends and Good Practices
Web API Directory: Statistics, Trends and Good PracticesWeb API Directory: Statistics, Trends and Good Practices
Web API Directory: Statistics, Trends and Good Practices
 
Csharp intsight
Csharp intsightCsharp intsight
Csharp intsight
 
Csharp intsight[1]
Csharp intsight[1]Csharp intsight[1]
Csharp intsight[1]
 
LAMP_TRAINING_SESSION_6
LAMP_TRAINING_SESSION_6LAMP_TRAINING_SESSION_6
LAMP_TRAINING_SESSION_6
 
SEO - It Works Even if You Don’t Know How or Why
SEO - It Works Even if You Don’t Know How or Why SEO - It Works Even if You Don’t Know How or Why
SEO - It Works Even if You Don’t Know How or Why
 
Implementing a home gateway with Linux - Firewall - Router - Proxy server - D...
Implementing a home gateway with Linux - Firewall - Router - Proxy server - D...Implementing a home gateway with Linux - Firewall - Router - Proxy server - D...
Implementing a home gateway with Linux - Firewall - Router - Proxy server - D...
 
ESWC 2009 Lightning Talks
ESWC 2009 Lightning TalksESWC 2009 Lightning Talks
ESWC 2009 Lightning Talks
 
Ph 2
Ph 2Ph 2
Ph 2
 
[Harvard CS264] 04 - Intermediate-level CUDA Programming
[Harvard CS264] 04 - Intermediate-level CUDA Programming[Harvard CS264] 04 - Intermediate-level CUDA Programming
[Harvard CS264] 04 - Intermediate-level CUDA Programming
 
Sani 2013 satisfaction.
Sani 2013   satisfaction.Sani 2013   satisfaction.
Sani 2013 satisfaction.
 
OSGi - beyond the myth
OSGi -  beyond the mythOSGi -  beyond the myth
OSGi - beyond the myth
 
Ph 35
Ph 35Ph 35
Ph 35
 
NRI Report
NRI ReportNRI Report
NRI Report
 
Nur sprechenden Unternehmen kann geholfen werden
Nur sprechenden Unternehmen kann geholfen werdenNur sprechenden Unternehmen kann geholfen werden
Nur sprechenden Unternehmen kann geholfen werden
 
Ph 38
Ph 38Ph 38
Ph 38
 
CPDL - Charging Plan Definition Language
CPDL - Charging Plan Definition LanguageCPDL - Charging Plan Definition Language
CPDL - Charging Plan Definition Language
 
The Why & How Of Social Media In English
The Why & How Of Social Media In EnglishThe Why & How Of Social Media In English
The Why & How Of Social Media In English
 
Experience Mining and Dialogues with a Pattern Language for Creative Learning
Experience Mining and Dialogues with a Pattern Language for Creative LearningExperience Mining and Dialogues with a Pattern Language for Creative Learning
Experience Mining and Dialogues with a Pattern Language for Creative Learning
 
Al Fazl International - 1st January 2016 Weekly UK
Al Fazl International - 1st January  2016 Weekly UKAl Fazl International - 1st January  2016 Weekly UK
Al Fazl International - 1st January 2016 Weekly UK
 

More from Andrew Shitov

Creating a compiler in Perl 6
Creating a compiler in Perl 6Creating a compiler in Perl 6
Creating a compiler in Perl 6Andrew Shitov
 
Fun with Raspberry PI (and Perl)
Fun with Raspberry PI (and Perl)Fun with Raspberry PI (and Perl)
Fun with Raspberry PI (and Perl)Andrew Shitov
 
Параллельные вычисления в Perl 6
Параллельные вычисления в Perl 6Параллельные вычисления в Perl 6
Параллельные вычисления в Perl 6Andrew Shitov
 
Perl 6 for Concurrency and Parallel Computing
Perl 6 for Concurrency and Parallel ComputingPerl 6 for Concurrency and Parallel Computing
Perl 6 for Concurrency and Parallel ComputingAndrew Shitov
 
The Joy of Smartmatch
The Joy of SmartmatchThe Joy of Smartmatch
The Joy of SmartmatchAndrew Shitov
 
Perl 7, the story of
Perl 7, the story ofPerl 7, the story of
Perl 7, the story ofAndrew Shitov
 
Язык программирования Go для Perl-программистов
Язык программирования Go для Perl-программистовЯзык программирования Go для Perl-программистов
Язык программирования Go для Perl-программистовAndrew Shitov
 
Как очистить массив
Как очистить массивКак очистить массив
Как очистить массивAndrew Shitov
 
What's new in Perl 5.14
What's new in Perl 5.14What's new in Perl 5.14
What's new in Perl 5.14Andrew Shitov
 
Что нового в Perl 5.14
Что нового в Perl 5.14Что нового в Perl 5.14
Что нового в Perl 5.14Andrew Shitov
 
Text in search queries with examples in Perl 6
Text in search queries with examples in Perl 6Text in search queries with examples in Perl 6
Text in search queries with examples in Perl 6Andrew Shitov
 
There's more than one way to empty it
There's more than one way to empty itThere's more than one way to empty it
There's more than one way to empty itAndrew Shitov
 
How to clean an array
How to clean an arrayHow to clean an array
How to clean an arrayAndrew Shitov
 

More from Andrew Shitov (20)

Perl6 one-liners
Perl6 one-linersPerl6 one-liners
Perl6 one-liners
 
Creating a compiler in Perl 6
Creating a compiler in Perl 6Creating a compiler in Perl 6
Creating a compiler in Perl 6
 
Fun with Raspberry PI (and Perl)
Fun with Raspberry PI (and Perl)Fun with Raspberry PI (and Perl)
Fun with Raspberry PI (and Perl)
 
Perl6 in-production
Perl6 in-productionPerl6 in-production
Perl6 in-production
 
Параллельные вычисления в Perl 6
Параллельные вычисления в Perl 6Параллельные вычисления в Perl 6
Параллельные вычисления в Perl 6
 
AllPerlBooks.com
AllPerlBooks.comAllPerlBooks.com
AllPerlBooks.com
 
Perl 6 for Concurrency and Parallel Computing
Perl 6 for Concurrency and Parallel ComputingPerl 6 for Concurrency and Parallel Computing
Perl 6 for Concurrency and Parallel Computing
 
The Joy of Smartmatch
The Joy of SmartmatchThe Joy of Smartmatch
The Joy of Smartmatch
 
YAPC::Europe 2013
YAPC::Europe 2013YAPC::Europe 2013
YAPC::Europe 2013
 
Perl 7, the story of
Perl 7, the story ofPerl 7, the story of
Perl 7, the story of
 
Язык программирования Go для Perl-программистов
Язык программирования Go для Perl-программистовЯзык программирования Go для Perl-программистов
Язык программирования Go для Perl-программистов
 
Как очистить массив
Как очистить массивКак очистить массив
Как очистить массив
 
What's new in Perl 5.14
What's new in Perl 5.14What's new in Perl 5.14
What's new in Perl 5.14
 
Что нового в Perl 5.14
Что нового в Perl 5.14Что нового в Perl 5.14
Что нового в Perl 5.14
 
Perl6 grammars
Perl6 grammarsPerl6 grammars
Perl6 grammars
 
Text in search queries with examples in Perl 6
Text in search queries with examples in Perl 6Text in search queries with examples in Perl 6
Text in search queries with examples in Perl 6
 
There's more than one way to empty it
There's more than one way to empty itThere's more than one way to empty it
There's more than one way to empty it
 
Perl 6 by example
Perl 6 by examplePerl 6 by example
Perl 6 by example
 
How to clean an array
How to clean an arrayHow to clean an array
How to clean an array
 
Perl 5.10 и 5.12
Perl 5.10 и 5.12Perl 5.10 и 5.12
Perl 5.10 и 5.12
 

Recently uploaded

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
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
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney
 
Visualising and forecasting stocks using Dash
Visualising and forecasting stocks using DashVisualising and forecasting stocks using Dash
Visualising and forecasting stocks using Dashnarutouzumaki53779
 
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
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
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
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 

Recently uploaded (20)

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
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
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
 
Visualising and forecasting stocks using Dash
Visualising and forecasting stocks using DashVisualising and forecasting stocks using Dash
Visualising and forecasting stocks using Dash
 
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
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
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
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 

Perl 5.10 в 2010-м