最近僕が使うようになったPerl 5.10以降の新しいやつ
-
Upload
azuma-kuniyuki -
Category
Documents
-
view
992 -
download
0
description
Transcript of 最近僕が使うようになったPerl 5.10以降の新しいやつ
Perl 5.10以降の新しいやつ
最近僕が使うようになった
@azumakuniyukiCubicroot Co. Ltd.
Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土)
Kyoto.pm設立おめでとうございます。
Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土)
Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
自己紹介
Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土)
Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
自己紹介- Azuma, Kuniyuki- (@|id:)azumakuniyuki- サーバ管理者(*BSD, Linux, 昔はSolarisも)- プログラマ(Perl, /bin/sh, たまにC, R)- 京都市(六角衣棚)
Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土)
Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
Perl- /bin/shで書きにくい場合はPerl- 2008年秋からモダンPerlを勉強 - モダンPerl入門+CPANモジュールガイド- YAPC::Asia(2回参加・登壇)- Kansai.pm(2回参加・発表)
Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土)
Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
Perlで作ったもの- bounceHammer(ばうんすはんまー)- バウンスメール解析専用- コマンドラインツール+WebUI- OpenSource! 2010/03〜- http://bouncehammer.jp/- DBIx::Skinny使ってます
Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土)
Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
本題
Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土)
Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
Perl 5.10以降の新機能- サンプルコードではまだあまり見かけない- 色が変わらないのがある(Vim)- レンタルサーバとかまだPerl 5.8.8
- ~~ スマートマッチ演算子- // Defined-Or演算子- given-when Cのswitch-caseみたいなの
Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土)
Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
~~スマートマッチ演算子
Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土)
Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
スマートマッチ演算子- grep { $x eq $_ } @list;
- $x ~~ @list;- if $y == $z;
- if $y ~~ $z;
Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土)
Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
~~ Sample #1my $d = [ 'gmail.com', 'hotmail.com', ];sub grepit { my $x = shift; return 1 if grep { $x eq $_ } @$d; }sub smart { my $x = shift; return 1 if $x ~~ @$d; }
Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土)
Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
~~ Benchmark #1* MacBook Air/perl 5.14.2 Rate grep eq smart~~grep eq 1011236/s -- -28%smart~~ 1406250/s 39% --
* Ubuntu/Perl 5.12.3 Rate grep eq smart~~grep eq 666667/s -- -30%smart~~ 957447/s 44% --
Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土)
Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
~~ Sample #2my $n = [ 1 .. 55 ];sub grepit { my $x = shift; return 1 if grep { $x == $_ } @$n; }sub smart { my $x = shift; return 1 if $x ~~ @$n; }
Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土)
Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
~~ Benchmark #2* MacBook Air/perl 5.14.2 Rate grep == smart~~grep == 286624/s -- -45%smart~~ 523256/s 83% --
* Ubuntu/Perl 5.12.3 Rate grep == smart~~grep == 187110/s -- -55%smart~~ 412844/s 121% --
Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土)
Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
//Defined-Or演算子
Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土)
Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
Defined-Or演算子- my $x = $y || $z; # $y = 0?- my $x = defined $y ? $y : $z;
- my $x = $y // $z;
Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土)
Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
// Samplesub ifdefined { my( $x, $y ) = @_; my $z = defined $x ? $x : $y; return 1 if $z == 0; }sub definedor { my( $x, $y ) = @_; my $z = $x // $y; return 1 if $z == 0; }
Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土)
Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
// Benchmark* MacBook Air/perl 5.14.2 Rate if-defined defined-orif-defined 1666667/s -- -11%defined-or 1875000/s 12% --
* Ubuntu/Perl 5.12.3 Rate if-defined defined-orif-defined 1153846/s -- -9%defined-or 1267606/s 10% --
Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土)
Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
given-when
Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土)
Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
given - when- if( $x =~ m{…} ){ …; } else { …; }
- given( $x ){ when(m{…}){ …; } default { …; } }
Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土)
Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
given-when Samplesub ifelse { my $x = shift; if( $x =~ m/[@]gmail[.]com\z/ ){ …; }elsif( $x =~ m/[@]hotmail[.]com\z/ ){…; } }sub givenwhen { my $x = shift(); given( $x ){ when( m/[@]gmail[.]com\z/ ){ …; } when( m/[@]hotmail[.]com\z/ ){ …; } default { …; } } }
Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土)
Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
given-when Benchmark* MacBook Air/perl 5.14.2 Rate given-w if-elsegiven-w 769231/s -- -26%if-else 1046512/s 36% --
* Ubuntu/Perl 5.12.3 Rate given-w if-elsegiven-w 548780/s -- -18%if-else 666667/s 21% --
Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土)
Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
はてなさんいつも会場を
ありがとうございます
Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土)
Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
ありがとうございました
Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土)
Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.