Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
なぜ私はPerlでコーディングするのか@吉祥寺.pm16
Search
korenari
November 22, 2018
Programming
0
920
なぜ私はPerlで コーディングするのか@吉祥寺.pm16
吉祥寺.pm16の登壇資料
https://kichijojipm.connpass.com/event/104750/
https://twitter.com/Korenari_D
korenari
November 22, 2018
Tweet
Share
More Decks by korenari
See All by korenari
Perlとテキストデータクリーニング@吉祥寺.pm18
korenari
0
2k
サーバレス日本語形態素解析エンジンとの格闘記録
korenari
0
2.3k
Other Decks in Programming
See All in Programming
JavaでLチカしたい! / JJUG CCC 2024 Fall LT
nhayato
0
120
Quine, Polyglot, 良いコード
qnighy
4
620
開発効率向上のためのリファクタリングの一歩目の選択肢 ~コード分割~ / JJUG CCC 2024 Fall
ryounasso
0
420
Better Code Design in PHP
afilina
PRO
0
110
Identifying User Idenity
moro
6
9.5k
Tauriでネイティブアプリを作りたい
tsucchinoko
0
350
OpenTelemetryでRailsのパフォーマンス分析を始めてみよう(KoR2024)
ymtdzzz
5
2k
Content Security Policy入門 セキュリティ設定と 違反レポートのはじめ方 / Introduction to Content Security Policy Getting Started with Security Configuration and Violation Reporting
uskey512
1
480
Dev ContainersとGitHub Codespacesの素敵な関係
ymd65536
1
140
ふかぼれ!CSSセレクターモジュール / Fukabore! CSS Selectors Module
petamoriken
0
130
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
0
190
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
1k
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Fireside Chat
paigeccino
33
3k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.2k
Scaling GitHub
holman
458
140k
A Philosophy of Restraint
colly
203
16k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
How to Ace a Technical Interview
jacobian
276
23k
Writing Fast Ruby
sferik
627
61k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Building Adaptive Systems
keathley
38
2.3k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Transcript
ͳͥࢲ1FSMͰ ίʔσΟϯά͢Δͷ͔ 8 6 . 2 0 1
ࣗݾհ T G . , N F R D LP
LP , , !,PSFOBSJ@%
͜ͷλΠτϧʹ͖͔͚ͨͬ͠ https://twitter.com/black_kaiji/status/1057973231427059714
͜ͷλΠτϧʹ͖͔͚ͨͬ͠ https://twitter.com/black_kaiji/status/1057973231427059714 https://twitter.com/black_kaiji/status/1058712946098892800
ࠓͷαϚϦʔ •ͳͥࢲ1FSMͰίʔσΟϯά͢Δͷ͔
ࠓͷαϚϦʔ •ͳͥࢲ1FSMͰίʔσΟϯά͢Δͷ͔ •͍ •͍͢ •͏·͍
ࠓͷαϚϦʔ •ͳͥࢲ1FSMͰίʔσΟϯά͢Δͷ͔ •͍ ʜʜ Ϩεϙϯεॲཧ͕͍ •͍͢ ʜʜ লϝϞϦ •͏·͍ ʜʜ
ߦͰਖ਼نදݱ͕ॻ͚Δ
ࠓͷαϚϦʔ •ͳͥࢲ1FSMͰίʔσΟϯά͢Δͷ͔ •͍ ʜʜ Ϩεϙϯεॲཧ͕͍ •͍͢ ʜʜ লϝϞϦ •͏·͍ ʜʜ
ߦͰਖ਼نදݱ͕ॻ͚Δ 㲎 ਖ਼نදݱϦςϥϧ͕͋Δʂ
ਖ਼نදݱϦςϥϧʁ •ӈهͷࣈ෦ •1FSMͰએݴ͕ෆཁͰਖ਼ن දݱ͕ར༻Մೳ •෦Ͱྑ͍ײ͡ʹίϯύΠϧ •
$word = ‘kichijoji’; if ($word =~ /^k/) { print ”OK ¥n"; } else { print ”NG ¥n"; }
ਖ਼نදݱϦςϥϧͬͯԿ͕خ͍͠ͷʁ • ਖ਼نදݱϦςϥϧ͕ͳ͍ͱɺਖ਼نදݱΛద༻͢Δ͝ͱʹɺຖ ճਖ਼نදݱΛίϯύΠϧ͢ΔίʔυΛॻ͖͕ͪͰ͢ɻ • ͜Εɺ࣮ߦΛେ෯ʹѱԽͤ͞·͢ɻ • ਖ਼نදݱϦςϥϧ͕͋Εɺਖ਼نදݱΛݴޠॲཧܥଆͰίϯύ Πϧ͍ͯ͠ճ͢͜ͱ͕Ͱ͖ΔͷͰɺ࣮ߦ্͕͠·͢ɻ
http://blog.kazuhooku.com/2013/12/blog-post.html
ࢀߟ ͪΐͬͱલʹʹͳͬͨΒ͍͠ • ਖ਼نදݱ͕ߏจͱͯ͠ඞཁ͔Ͳ͏͔ͱ͍͏͔Β IUUQTUPHFUUFSDPNMJ ʢ݄ʣ • ϓϩάϥϛϯάݴޠʹ͓͚Δਖ਼نදݱϦςϥϧͷඞཁੑʹ͍ͭͯ IUUQCMPHLB[VIPPLVDPNCMPHQPTUIUNM ʢ݄ʣ
• ਖ਼نදݱϦςϥϧຊʹඞཁͳͷ͔ʁ IUUQTXXXTMJEFTIBSFOFULXBUDITT ʢ݄ !1Z$PO+1ʣ
1FSMͱ͍͑ϫϯϥΠφʔ perl -ne 'print if 30 ..
40’ *.txt 3040 perl -pi -e 's/foo/bar/g;’ t1.txt > t2.txt foobar ! perl -ne 'print if /./' t1.txt > t2.txt . $ →" Perl %#
1FSMͱ͍͑ϫϯϥΠφʔ perl -ne 'print if 30 ..
40’ *.txt 3040!# perl -pi -e 's/foo/bar/g;’ t1.txt > t2.txt foobar$) perl -ne 'print if /./' t1.txt > t2.txt . + !# →%!*( ' " TL& m(_ _ )m
ॳΊͯ1FSMͰൃදͰ͖ͨʂʂ