SlideShare a Scribd company logo
1 of 24
Download to read offline
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.

More Related Content

What's hot

Java One 2012 Tokyo JVM Lang. BOF(Groovy)
Java One 2012 Tokyo JVM Lang. BOF(Groovy)Java One 2012 Tokyo JVM Lang. BOF(Groovy)
Java One 2012 Tokyo JVM Lang. BOF(Groovy)Uehara Junji
 
言語処理系入門€10
言語処理系入門€10言語処理系入門€10
言語処理系入門€10Kenta Hattori
 
JSONでメール送信 | HTTP API Server ``Haineko''/YAPC::Asia Tokyo 2013 LT Day2
JSONでメール送信 | HTTP API Server ``Haineko''/YAPC::Asia Tokyo 2013 LT Day2JSONでメール送信 | HTTP API Server ``Haineko''/YAPC::Asia Tokyo 2013 LT Day2
JSONでメール送信 | HTTP API Server ``Haineko''/YAPC::Asia Tokyo 2013 LT Day2azumakuniyuki 🐈
 
Shibuya JVM Groovy 20150418
Shibuya JVM Groovy 20150418Shibuya JVM Groovy 20150418
Shibuya JVM Groovy 20150418Uehara Junji
 
私とOSS活動とPerl
私とOSS活動とPerl私とOSS活動とPerl
私とOSS活動とPerlShunsuke Maeda
 
Rxに入門しようとしている
Rxに入門しようとしているRxに入門しようとしている
Rxに入門しようとしているonotchi_
 
第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」yoshiaki iwanaga
 
UniRx勉強会 reactive extensions inside(公開用)
UniRx勉強会   reactive extensions inside(公開用)UniRx勉強会   reactive extensions inside(公開用)
UniRx勉強会 reactive extensions inside(公開用)wilfrem
 
Polyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGAPolyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGAryos36
 
Polyphony の並列化
Polyphony の並列化Polyphony の並列化
Polyphony の並列化ryos36
 
C#とILとネイティブと
C#とILとネイティブとC#とILとネイティブと
C#とILとネイティブと信之 岩永
 
Kotlin勉強会 in ehime
Kotlin勉強会 in ehimeKotlin勉強会 in ehime
Kotlin勉強会 in ehimeEigoro Yamamura
 
Pythonを用いた高水準ハードウェア設計環境の検討
Pythonを用いた高水準ハードウェア設計環境の検討Pythonを用いた高水準ハードウェア設計環境の検討
Pythonを用いた高水準ハードウェア設計環境の検討Shinya Takamaeda-Y
 
Hacking Ruby with Python
Hacking Ruby with PythonHacking Ruby with Python
Hacking Ruby with PythonTaisuke Yamada
 
Introduction to cython
Introduction to cythonIntroduction to cython
Introduction to cythonAtsuo Ishimoto
 
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみようPythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみようShinya Takamaeda-Y
 

What's hot (20)

Java One 2012 Tokyo JVM Lang. BOF(Groovy)
Java One 2012 Tokyo JVM Lang. BOF(Groovy)Java One 2012 Tokyo JVM Lang. BOF(Groovy)
Java One 2012 Tokyo JVM Lang. BOF(Groovy)
 
言語処理系入門€10
言語処理系入門€10言語処理系入門€10
言語処理系入門€10
 
JSONでメール送信 | HTTP API Server ``Haineko''/YAPC::Asia Tokyo 2013 LT Day2
JSONでメール送信 | HTTP API Server ``Haineko''/YAPC::Asia Tokyo 2013 LT Day2JSONでメール送信 | HTTP API Server ``Haineko''/YAPC::Asia Tokyo 2013 LT Day2
JSONでメール送信 | HTTP API Server ``Haineko''/YAPC::Asia Tokyo 2013 LT Day2
 
Shibuya JVM Groovy 20150418
Shibuya JVM Groovy 20150418Shibuya JVM Groovy 20150418
Shibuya JVM Groovy 20150418
 
私とOSS活動とPerl
私とOSS活動とPerl私とOSS活動とPerl
私とOSS活動とPerl
 
最速C# 7.x
最速C# 7.x最速C# 7.x
最速C# 7.x
 
Rxに入門しようとしている
Rxに入門しようとしているRxに入門しようとしている
Rxに入門しようとしている
 
第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」
 
UniRx勉強会 reactive extensions inside(公開用)
UniRx勉強会   reactive extensions inside(公開用)UniRx勉強会   reactive extensions inside(公開用)
UniRx勉強会 reactive extensions inside(公開用)
 
Inside FastEnum
Inside FastEnumInside FastEnum
Inside FastEnum
 
Polyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGAPolyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGA
 
Polyphony の並列化
Polyphony の並列化Polyphony の並列化
Polyphony の並列化
 
C#とILとネイティブと
C#とILとネイティブとC#とILとネイティブと
C#とILとネイティブと
 
Aerospike deep dive LDTs
Aerospike deep dive LDTsAerospike deep dive LDTs
Aerospike deep dive LDTs
 
Kotlin勉強会 in ehime
Kotlin勉強会 in ehimeKotlin勉強会 in ehime
Kotlin勉強会 in ehime
 
Pythonを用いた高水準ハードウェア設計環境の検討
Pythonを用いた高水準ハードウェア設計環境の検討Pythonを用いた高水準ハードウェア設計環境の検討
Pythonを用いた高水準ハードウェア設計環境の検討
 
From JS To CLJS
From JS To CLJSFrom JS To CLJS
From JS To CLJS
 
Hacking Ruby with Python
Hacking Ruby with PythonHacking Ruby with Python
Hacking Ruby with Python
 
Introduction to cython
Introduction to cythonIntroduction to cython
Introduction to cython
 
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみようPythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
 

Viewers also liked

KOF 2011 bounceHammerによるバウンスメール解析の技術
KOF 2011 bounceHammerによるバウンスメール解析の技術KOF 2011 bounceHammerによるバウンスメール解析の技術
KOF 2011 bounceHammerによるバウンスメール解析の技術azumakuniyuki 🐈
 
運用自動化のためのプログラミング言語の作り方
運用自動化のためのプログラミング言語の作り方運用自動化のためのプログラミング言語の作り方
運用自動化のためのプログラミング言語の作り方Kenta Hattori
 
インフラ運用管理ツールとGolang OSS運用管理勉強会LT
インフラ運用管理ツールとGolang OSS運用管理勉強会LTインフラ運用管理ツールとGolang OSS運用管理勉強会LT
インフラ運用管理ツールとGolang OSS運用管理勉強会LTDaisuke Ikeda
 
Commonwealth Care Alliance: Care for Medicaid and Dual Beneficiaries with Com...
Commonwealth Care Alliance: Care for Medicaid and Dual Beneficiaries with Com...Commonwealth Care Alliance: Care for Medicaid and Dual Beneficiaries with Com...
Commonwealth Care Alliance: Care for Medicaid and Dual Beneficiaries with Com...NASHP HealthPolicy
 
Participant testimonials icc worksenses mepco workshop
Participant testimonials icc worksenses mepco workshopParticipant testimonials icc worksenses mepco workshop
Participant testimonials icc worksenses mepco workshopShravan Shetty
 
Ο επιτάφιος θρήνος
Ο επιτάφιος θρήνοςΟ επιτάφιος θρήνος
Ο επιτάφιος θρήνοςteo70
 
πολυγυροσ
πολυγυροσπολυγυροσ
πολυγυροσteo70
 
Takach- New Tactics for Building Medical Homes
Takach- New Tactics for Building Medical HomesTakach- New Tactics for Building Medical Homes
Takach- New Tactics for Building Medical HomesNASHP HealthPolicy
 
Companies bill 2012
Companies bill 2012Companies bill 2012
Companies bill 2012Pooja Gupta
 
Find Your Tribe
Find Your TribeFind Your Tribe
Find Your TribeZac
 
Decision Support - East Midlands HFMA Conference
Decision Support - East Midlands HFMA ConferenceDecision Support - East Midlands HFMA Conference
Decision Support - East Midlands HFMA Conferenceduncanorme
 
Evaluation question 6
Evaluation question 6Evaluation question 6
Evaluation question 6Zac
 
tomlinson- Virginia's Medicaid medical home pilot
tomlinson- Virginia's Medicaid medical home pilottomlinson- Virginia's Medicaid medical home pilot
tomlinson- Virginia's Medicaid medical home pilotNASHP HealthPolicy
 
Marg darshanprofile -_brief
Marg darshanprofile -_briefMarg darshanprofile -_brief
Marg darshanprofile -_briefNitu Kumari
 

Viewers also liked (20)

KOF 2011 bounceHammerによるバウンスメール解析の技術
KOF 2011 bounceHammerによるバウンスメール解析の技術KOF 2011 bounceHammerによるバウンスメール解析の技術
KOF 2011 bounceHammerによるバウンスメール解析の技術
 
運用自動化のためのプログラミング言語の作り方
運用自動化のためのプログラミング言語の作り方運用自動化のためのプログラミング言語の作り方
運用自動化のためのプログラミング言語の作り方
 
インフラ運用管理ツールとGolang OSS運用管理勉強会LT
インフラ運用管理ツールとGolang OSS運用管理勉強会LTインフラ運用管理ツールとGolang OSS運用管理勉強会LT
インフラ運用管理ツールとGolang OSS運用管理勉強会LT
 
Carrie slides
Carrie slidesCarrie slides
Carrie slides
 
Ar slides final
Ar slides finalAr slides final
Ar slides final
 
Commonwealth Care Alliance: Care for Medicaid and Dual Beneficiaries with Com...
Commonwealth Care Alliance: Care for Medicaid and Dual Beneficiaries with Com...Commonwealth Care Alliance: Care for Medicaid and Dual Beneficiaries with Com...
Commonwealth Care Alliance: Care for Medicaid and Dual Beneficiaries with Com...
 
Participant testimonials icc worksenses mepco workshop
Participant testimonials icc worksenses mepco workshopParticipant testimonials icc worksenses mepco workshop
Participant testimonials icc worksenses mepco workshop
 
Ο επιτάφιος θρήνος
Ο επιτάφιος θρήνοςΟ επιτάφιος θρήνος
Ο επιτάφιος θρήνος
 
πολυγυροσ
πολυγυροσπολυγυροσ
πολυγυροσ
 
Takach- New Tactics for Building Medical Homes
Takach- New Tactics for Building Medical HomesTakach- New Tactics for Building Medical Homes
Takach- New Tactics for Building Medical Homes
 
Companies bill 2012
Companies bill 2012Companies bill 2012
Companies bill 2012
 
Need to know YA 2015
Need to know YA 2015Need to know YA 2015
Need to know YA 2015
 
Asse mag
Asse magAsse mag
Asse mag
 
Find Your Tribe
Find Your TribeFind Your Tribe
Find Your Tribe
 
Decision Support - East Midlands HFMA Conference
Decision Support - East Midlands HFMA ConferenceDecision Support - East Midlands HFMA Conference
Decision Support - East Midlands HFMA Conference
 
Solar Impulse
Solar  ImpulseSolar  Impulse
Solar Impulse
 
'Broadsheet' Media Blog Overview
'Broadsheet' Media Blog Overview'Broadsheet' Media Blog Overview
'Broadsheet' Media Blog Overview
 
Evaluation question 6
Evaluation question 6Evaluation question 6
Evaluation question 6
 
tomlinson- Virginia's Medicaid medical home pilot
tomlinson- Virginia's Medicaid medical home pilottomlinson- Virginia's Medicaid medical home pilot
tomlinson- Virginia's Medicaid medical home pilot
 
Marg darshanprofile -_brief
Marg darshanprofile -_briefMarg darshanprofile -_brief
Marg darshanprofile -_brief
 

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

Perl and Email #2/Kansai.pm第14回ミーティング@京都
Perl and Email #2/Kansai.pm第14回ミーティング@京都Perl and Email #2/Kansai.pm第14回ミーティング@京都
Perl and Email #2/Kansai.pm第14回ミーティング@京都azumakuniyuki 🐈
 
Apacheの展望とmod_perlの超絶技巧 #yapcasia
Apacheの展望とmod_perlの超絶技巧 #yapcasiaApacheの展望とmod_perlの超絶技巧 #yapcasia
Apacheの展望とmod_perlの超絶技巧 #yapcasia鉄次 尾形
 
Power Assert and perl.js
Power Assert and perl.jsPower Assert and perl.js
Power Assert and perl.jsGoro Fuji
 
Perl and Email #3 ``Haineko''/Kyoto.pm #5
Perl and Email #3 ``Haineko''/Kyoto.pm #5Perl and Email #3 ``Haineko''/Kyoto.pm #5
Perl and Email #3 ``Haineko''/Kyoto.pm #5azumakuniyuki 🐈
 
2012-09-09.nagoyapm07
2012-09-09.nagoyapm072012-09-09.nagoyapm07
2012-09-09.nagoyapm07IWATA Susumu
 
2013-07-13 Kyoto.pm #5 LT
2013-07-13 Kyoto.pm #5 LT2013-07-13 Kyoto.pm #5 LT
2013-07-13 Kyoto.pm #5 LTIWATA Susumu
 
OSC2012 Tokyo Spring, USP lab. presentation
OSC2012 Tokyo Spring, USP lab. presentationOSC2012 Tokyo Spring, USP lab. presentation
OSC2012 Tokyo Spring, USP lab. presentationRyuichi Ueda
 
C#でOpenCL with OpenTK + Cloo
C#でOpenCL with OpenTK + ClooC#でOpenCL with OpenTK + Cloo
C#でOpenCL with OpenTK + Clooaokomoriuta
 
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)Hiroaki KOBAYASHI
 
2012 11-17.nagoyapm08
2012 11-17.nagoyapm082012 11-17.nagoyapm08
2012 11-17.nagoyapm08IWATA Susumu
 
シェルスクリプトワークショップ資料 - 上級者向け「シェル芸」
シェルスクリプトワークショップ資料 - 上級者向け「シェル芸」シェルスクリプトワークショップ資料 - 上級者向け「シェル芸」
シェルスクリプトワークショップ資料 - 上級者向け「シェル芸」博文 斉藤
 
丸山先生レクチャーシリーズ2007-2008
丸山先生レクチャーシリーズ2007-2008丸山先生レクチャーシリーズ2007-2008
丸山先生レクチャーシリーズ2007-2008Yoichiro Tanaka
 
短絡的に作るRuby DSL 公開版
短絡的に作るRuby DSL 公開版短絡的に作るRuby DSL 公開版
短絡的に作るRuby DSL 公開版bash0C7
 
Node-RED のフローを isaax で配信してみた
Node-RED のフローを isaax で配信してみたNode-RED のフローを isaax で配信してみた
Node-RED のフローを isaax で配信してみたTomoyuki Sugita
 
LibreOffice 4 under NetBSD with pkgsrc
LibreOffice 4 under NetBSD with pkgsrcLibreOffice 4 under NetBSD with pkgsrc
LibreOffice 4 under NetBSD with pkgsrcRyo ONODERA
 
2017年夏のPerl
2017年夏のPerl2017年夏のPerl
2017年夏のPerlcharsbar
 
Rubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつりRubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつりYuya Rin
 

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

Perl and Email #2/Kansai.pm第14回ミーティング@京都
Perl and Email #2/Kansai.pm第14回ミーティング@京都Perl and Email #2/Kansai.pm第14回ミーティング@京都
Perl and Email #2/Kansai.pm第14回ミーティング@京都
 
Apacheの展望とmod_perlの超絶技巧 #yapcasia
Apacheの展望とmod_perlの超絶技巧 #yapcasiaApacheの展望とmod_perlの超絶技巧 #yapcasia
Apacheの展望とmod_perlの超絶技巧 #yapcasia
 
Power Assert and perl.js
Power Assert and perl.jsPower Assert and perl.js
Power Assert and perl.js
 
Perl and Email #3 ``Haineko''/Kyoto.pm #5
Perl and Email #3 ``Haineko''/Kyoto.pm #5Perl and Email #3 ``Haineko''/Kyoto.pm #5
Perl and Email #3 ``Haineko''/Kyoto.pm #5
 
2012-09-09.nagoyapm07
2012-09-09.nagoyapm072012-09-09.nagoyapm07
2012-09-09.nagoyapm07
 
2013-07-13 Kyoto.pm #5 LT
2013-07-13 Kyoto.pm #5 LT2013-07-13 Kyoto.pm #5 LT
2013-07-13 Kyoto.pm #5 LT
 
Niigata.pm #1
Niigata.pm #1Niigata.pm #1
Niigata.pm #1
 
OSC2012 Tokyo Spring, USP lab. presentation
OSC2012 Tokyo Spring, USP lab. presentationOSC2012 Tokyo Spring, USP lab. presentation
OSC2012 Tokyo Spring, USP lab. presentation
 
C#でOpenCL with OpenTK + Cloo
C#でOpenCL with OpenTK + ClooC#でOpenCL with OpenTK + Cloo
C#でOpenCL with OpenTK + Cloo
 
#crazy-js Quiz
#crazy-js Quiz#crazy-js Quiz
#crazy-js Quiz
 
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
 
2012 11-17.nagoyapm08
2012 11-17.nagoyapm082012 11-17.nagoyapm08
2012 11-17.nagoyapm08
 
シェルスクリプトワークショップ資料 - 上級者向け「シェル芸」
シェルスクリプトワークショップ資料 - 上級者向け「シェル芸」シェルスクリプトワークショップ資料 - 上級者向け「シェル芸」
シェルスクリプトワークショップ資料 - 上級者向け「シェル芸」
 
丸山先生レクチャーシリーズ2007-2008
丸山先生レクチャーシリーズ2007-2008丸山先生レクチャーシリーズ2007-2008
丸山先生レクチャーシリーズ2007-2008
 
短絡的に作るRuby DSL 公開版
短絡的に作るRuby DSL 公開版短絡的に作るRuby DSL 公開版
短絡的に作るRuby DSL 公開版
 
Node-RED のフローを isaax で配信してみた
Node-RED のフローを isaax で配信してみたNode-RED のフローを isaax で配信してみた
Node-RED のフローを isaax で配信してみた
 
実は怖くないDevOps
実は怖くないDevOps実は怖くないDevOps
実は怖くないDevOps
 
LibreOffice 4 under NetBSD with pkgsrc
LibreOffice 4 under NetBSD with pkgsrcLibreOffice 4 under NetBSD with pkgsrc
LibreOffice 4 under NetBSD with pkgsrc
 
2017年夏のPerl
2017年夏のPerl2017年夏のPerl
2017年夏のPerl
 
Rubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつりRubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつり
 

More from azumakuniyuki 🐈

YAPC::Nagoya::Tiny 2019 | Makefile生活
YAPC::Nagoya::Tiny 2019 | Makefile生活YAPC::Nagoya::Tiny 2019 | Makefile生活
YAPC::Nagoya::Tiny 2019 | Makefile生活azumakuniyuki 🐈
 
NSEG勉強会(101)LT: 僕と長野県
NSEG勉強会(101)LT: 僕と長野県NSEG勉強会(101)LT: 僕と長野県
NSEG勉強会(101)LT: 僕と長野県azumakuniyuki 🐈
 
[スパム報告]ボタンを押すとどうなるのか | Hosting Casual Talks #4
[スパム報告]ボタンを押すとどうなるのか | Hosting Casual Talks #4[スパム報告]ボタンを押すとどうなるのか | Hosting Casual Talks #4
[スパム報告]ボタンを押すとどうなるのか | Hosting Casual Talks #4azumakuniyuki 🐈
 
SendGridのない世界 | SendGrid Night in Osaka #2
SendGridのない世界 | SendGrid Night in Osaka #2SendGridのない世界 | SendGrid Night in Osaka #2
SendGridのない世界 | SendGrid Night in Osaka #2azumakuniyuki 🐈
 
Hokkaido.pm#13参加報告 | YAPC::Kansai 2017 Osaka
Hokkaido.pm#13参加報告 | YAPC::Kansai 2017 OsakaHokkaido.pm#13参加報告 | YAPC::Kansai 2017 Osaka
Hokkaido.pm#13参加報告 | YAPC::Kansai 2017 Osakaazumakuniyuki 🐈
 
メールフォームからメールを送る近代的な方法 | YAPC::Kansai 2017 OSAKA
メールフォームからメールを送る近代的な方法 | YAPC::Kansai 2017 OSAKAメールフォームからメールを送る近代的な方法 | YAPC::Kansai 2017 OSAKA
メールフォームからメールを送る近代的な方法 | YAPC::Kansai 2017 OSAKAazumakuniyuki 🐈
 
僕と北海道とPerl、それとMakefileも。
僕と北海道とPerl、それとMakefileも。僕と北海道とPerl、それとMakefileも。
僕と北海道とPerl、それとMakefileも。azumakuniyuki 🐈
 
PerlモジュールをRubyに移植する時に落ちた穴々
PerlモジュールをRubyに移植する時に落ちた穴々PerlモジュールをRubyに移植する時に落ちた穴々
PerlモジュールをRubyに移植する時に落ちた穴々azumakuniyuki 🐈
 
自動構築と自動テスト〜インフラのコード化とクラウドの優位性
自動構築と自動テスト〜インフラのコード化とクラウドの優位性自動構築と自動テスト〜インフラのコード化とクラウドの優位性
自動構築と自動テスト〜インフラのコード化とクラウドの優位性azumakuniyuki 🐈
 
Hachioji.pm #40 次のbounceHammer開発中
Hachioji.pm #40 次のbounceHammer開発中Hachioji.pm #40 次のbounceHammer開発中
Hachioji.pm #40 次のbounceHammer開発中azumakuniyuki 🐈
 
2013 11-30-mailqueue-monitoring
2013 11-30-mailqueue-monitoring2013 11-30-mailqueue-monitoring
2013 11-30-mailqueue-monitoringazumakuniyuki 🐈
 
Plackで実装したメールサーバ"Haineko"のその後/Shibuya.pl #1
Plackで実装したメールサーバ"Haineko"のその後/Shibuya.pl #1 Plackで実装したメールサーバ"Haineko"のその後/Shibuya.pl #1
Plackで実装したメールサーバ"Haineko"のその後/Shibuya.pl #1 azumakuniyuki 🐈
 
実践的bounceHammer / KOF2013
実践的bounceHammer / KOF2013実践的bounceHammer / KOF2013
実践的bounceHammer / KOF2013azumakuniyuki 🐈
 
JSONでメール送信(Haineko) / KOF2013
JSONでメール送信(Haineko) / KOF2013JSONでメール送信(Haineko) / KOF2013
JSONでメール送信(Haineko) / KOF2013azumakuniyuki 🐈
 
猫とPerl〜応用編1/YAPC Asia Tokyo 2013 LT-THON::Tiny
猫とPerl〜応用編1/YAPC Asia Tokyo 2013 LT-THON::Tiny猫とPerl〜応用編1/YAPC Asia Tokyo 2013 LT-THON::Tiny
猫とPerl〜応用編1/YAPC Asia Tokyo 2013 LT-THON::Tinyazumakuniyuki 🐈
 
Kansai.pm #15 LT資料「猫とPerl」
Kansai.pm #15 LT資料「猫とPerl」Kansai.pm #15 LT資料「猫とPerl」
Kansai.pm #15 LT資料「猫とPerl」azumakuniyuki 🐈
 
bounceHammerその後、導入事例、これから。
bounceHammerその後、導入事例、これから。bounceHammerその後、導入事例、これから。
bounceHammerその後、導入事例、これから。azumakuniyuki 🐈
 

More from azumakuniyuki 🐈 (20)

YAPC::Nagoya::Tiny 2019 | Makefile生活
YAPC::Nagoya::Tiny 2019 | Makefile生活YAPC::Nagoya::Tiny 2019 | Makefile生活
YAPC::Nagoya::Tiny 2019 | Makefile生活
 
NSEG勉強会(101)LT: 僕と長野県
NSEG勉強会(101)LT: 僕と長野県NSEG勉強会(101)LT: 僕と長野県
NSEG勉強会(101)LT: 僕と長野県
 
Email is Slack
Email is SlackEmail is Slack
Email is Slack
 
[スパム報告]ボタンを押すとどうなるのか | Hosting Casual Talks #4
[スパム報告]ボタンを押すとどうなるのか | Hosting Casual Talks #4[スパム報告]ボタンを押すとどうなるのか | Hosting Casual Talks #4
[スパム報告]ボタンを押すとどうなるのか | Hosting Casual Talks #4
 
SendGridのない世界 | SendGrid Night in Osaka #2
SendGridのない世界 | SendGrid Night in Osaka #2SendGridのない世界 | SendGrid Night in Osaka #2
SendGridのない世界 | SendGrid Night in Osaka #2
 
Hokkaido.pm#13参加報告 | YAPC::Kansai 2017 Osaka
Hokkaido.pm#13参加報告 | YAPC::Kansai 2017 OsakaHokkaido.pm#13参加報告 | YAPC::Kansai 2017 Osaka
Hokkaido.pm#13参加報告 | YAPC::Kansai 2017 Osaka
 
メールフォームからメールを送る近代的な方法 | YAPC::Kansai 2017 OSAKA
メールフォームからメールを送る近代的な方法 | YAPC::Kansai 2017 OSAKAメールフォームからメールを送る近代的な方法 | YAPC::Kansai 2017 OSAKA
メールフォームからメールを送る近代的な方法 | YAPC::Kansai 2017 OSAKA
 
僕と北海道とPerl、それとMakefileも。
僕と北海道とPerl、それとMakefileも。僕と北海道とPerl、それとMakefileも。
僕と北海道とPerl、それとMakefileも。
 
PerlモジュールをRubyに移植する時に落ちた穴々
PerlモジュールをRubyに移植する時に落ちた穴々PerlモジュールをRubyに移植する時に落ちた穴々
PerlモジュールをRubyに移植する時に落ちた穴々
 
自動構築と自動テスト〜インフラのコード化とクラウドの優位性
自動構築と自動テスト〜インフラのコード化とクラウドの優位性自動構築と自動テスト〜インフラのコード化とクラウドの優位性
自動構築と自動テスト〜インフラのコード化とクラウドの優位性
 
Hachioji.pm #40 次のbounceHammer開発中
Hachioji.pm #40 次のbounceHammer開発中Hachioji.pm #40 次のbounceHammer開発中
Hachioji.pm #40 次のbounceHammer開発中
 
2013 11-30-mailqueue-monitoring
2013 11-30-mailqueue-monitoring2013 11-30-mailqueue-monitoring
2013 11-30-mailqueue-monitoring
 
Plackで実装したメールサーバ"Haineko"のその後/Shibuya.pl #1
Plackで実装したメールサーバ"Haineko"のその後/Shibuya.pl #1 Plackで実装したメールサーバ"Haineko"のその後/Shibuya.pl #1
Plackで実装したメールサーバ"Haineko"のその後/Shibuya.pl #1
 
Perlの書籍紹介/KOF2013
Perlの書籍紹介/KOF2013Perlの書籍紹介/KOF2013
Perlの書籍紹介/KOF2013
 
実践的bounceHammer / KOF2013
実践的bounceHammer / KOF2013実践的bounceHammer / KOF2013
実践的bounceHammer / KOF2013
 
JSONでメール送信(Haineko) / KOF2013
JSONでメール送信(Haineko) / KOF2013JSONでメール送信(Haineko) / KOF2013
JSONでメール送信(Haineko) / KOF2013
 
猫とPerl〜応用編1/YAPC Asia Tokyo 2013 LT-THON::Tiny
猫とPerl〜応用編1/YAPC Asia Tokyo 2013 LT-THON::Tiny猫とPerl〜応用編1/YAPC Asia Tokyo 2013 LT-THON::Tiny
猫とPerl〜応用編1/YAPC Asia Tokyo 2013 LT-THON::Tiny
 
Kansai.pm #15 LT資料「猫とPerl」
Kansai.pm #15 LT資料「猫とPerl」Kansai.pm #15 LT資料「猫とPerl」
Kansai.pm #15 LT資料「猫とPerl」
 
Namba.pm #0 LT資料
Namba.pm #0 LT資料Namba.pm #0 LT資料
Namba.pm #0 LT資料
 
bounceHammerその後、導入事例、これから。
bounceHammerその後、導入事例、これから。bounceHammerその後、導入事例、これから。
bounceHammerその後、導入事例、これから。
 

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

  • 1. Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土) 最近僕が使うようになった Perl 5.10 以降の新しいやつ @azumakuniyuki Cubicroot Co. Ltd.
  • 2. Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土) Kyoto.pm設立 おめでとうございます。 Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
  • 3. Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土) 自己紹介 Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
  • 4. 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.
  • 5. 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.
  • 6. 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.
  • 7. Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土) 本題 Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
  • 8. 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.
  • 9. Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土) ~~ スマートマッチ演算子 Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
  • 10. 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.
  • 11. 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.
  • 12. 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.
  • 13. 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.
  • 14. 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.
  • 15. Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土) // Defined-Or演算子 Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
  • 16. 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.
  • 17. 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.
  • 18. 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.
  • 19. Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土) given-when Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
  • 20. 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.
  • 21. 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.
  • 22. 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.
  • 23. Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土) はてなさん いつも会場を ありがとうございます Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.
  • 24. Kyoto.pm Tech Talks #01 in 京都::はてなさん 2012/03/17(土) ありがとう ございました Some of new features from Perl 5.10 @azumakuniyuki / Cubicroot Co. Ltd.