最近僕が使うようになったPerl 5.10以降の新しいやつ
Upcoming SlideShare
Loading in...5
×
 

最近僕が使うようになったPerl 5.10以降の新しいやつ

on

  • 1,198 views

Smart match operator, Defined-Or operator, and given-when

Smart match operator, Defined-Or operator, and given-when

Statistics

Views

Total Views
1,198
Views on SlideShare
1,158
Embed Views
40

Actions

Likes
0
Downloads
1
Comments
1

1 Embed 40

http://blog.azumakuniyuki.org 40

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

最近僕が使うようになったPerl 5.10以降の新しいやつ 最近僕が使うようになったPerl 5.10以降の新しいやつ Presentation Transcript

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