Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Pe...
Search
mackee
December 09, 2025
Programming
0
42
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
YAPC::Fukuoka 非公式リジェクトコン 2025
mackee
December 09, 2025
Tweet
Share
More Decks by mackee
See All by mackee
Agentに至る道 〜なぜLLMは自動でコードを書けるようになったのか〜
mackee
5
3.4k
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
14
5.6k
ワンバイナリWebサービスのススメ
mackee
10
8.1k
tanukistack ライブコーディング / tanukistack live-coding
mackee
0
130
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
1.1k
perl for shell, awk and sed programmers
mackee
3
2.6k
今更GoのWebフレームワークを作ろうとしているワケ / Why am I trying to create a Go web framework now?
mackee
1
1k
database/sqlでNullを扱う歴史とsql.Null[T]の登場 / sql.Null[T] history
mackee
0
910
マイクロサービス化を利用した Goへの移行事例
mackee
0
1k
Other Decks in Programming
See All in Programming
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
150
JETLS.jl ─ A New Language Server for Julia
abap34
1
370
251126 TestState APIってなんだっけ?Step Functionsテストどう変わる?
east_takumi
0
310
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
0
210
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
2
7.1k
ViewファーストなRailsアプリ開発のたのしさ
sugiwe
0
450
WebRTC、 綺麗に見るか滑らかに見るか
sublimer
1
160
テストやOSS開発に役立つSetup PHP Action
matsuo_atsushi
0
150
手が足りない!兼業データエンジニアに必要だったアーキテクチャと立ち回り
zinkosuke
0
640
チームをチームにするEM
hitode909
0
320
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
130
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
130
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
330
39k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
How to Ace a Technical Interview
jacobian
280
24k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.6k
RailsConf 2023
tenderlove
30
1.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Building Applications with DynamoDB
mza
96
6.8k
Transcript
perlΛWebAssembly্Ͱಈ͔ ͢ͱԿ͕خ͍͠ͷʁʁʁ macopy YAPC::Fukuoka 2025 ඇެࣜϦδΣΫτίϯ
None
ຊฤͰ͜͏͍͏τʔΫΛͬͨऀͰ͢
Do you know Perl??
Do you know WebAssembly??
WebAssembly(MDNΑΓ) • WebAssembly ݱͷΣϒϒϥβʔͰ࣮ߦͰ͖ΔίʔυͷҰछ Ͱ͢ɻωΠςΟϒʹ͍ۙύϑΥʔϚϯεͰಈ࡞͢ΔɺίϯύΫτͳό ΠφϦʔܗࣜͷϨϕϧͳΞηϯϒϦʔ෩ݴޠͰ͢ɻ͞Βʹɺ C/ C++ɺC# Rust
ͳͲͷݴޠͷίϯύΠϧઌͱͳΓɺͦΕΒͷݴޠΛ Σϒ্Ͱ࣮ߦ͢Δ͜ͱ͕Ͱ͖·͢ɻ ·ͨɺJavaScript ͱฒ࣮ͯߦ ͢ΔΑ͏ʹઃܭ͞Ε͓ͯΓɺ྆ํΛҰॹʹಈ࡞ͤ͞Δ͜ͱ͕Ͱ͖· ͢ɻ
ͳΔ΄Ͳͳ͋
ͦ͏͍͑Perl
WebAssembly(MDNΑΓ) • WebAssembly ݱͷΣϒϒϥβʔͰ࣮ߦͰ͖ΔίʔυͷҰछ Ͱ͢ɻωΠςΟϒʹ͍ۙύϑΥʔϚϯεͰಈ࡞͢ΔɺίϯύΫτͳό ΠφϦʔܗࣜͷϨϕϧͳΞηϯϒϦʔ෩ݴޠͰ͢ɻ͞Βʹɺ C/ C++ɺC# Rust
ͳͲͷݴޠͷίϯύΠϧઌͱͳΓɺͦΕΒͷݴޠΛ Σϒ্Ͱ࣮ߦ͢Δ͜ͱ͕Ͱ͖·͢ɻ ·ͨɺJavaScript ͱฒ࣮ͯߦ ͢ΔΑ͏ʹઃܭ͞Ε͓ͯΓɺ྆ํΛҰॹʹಈ࡞ͤ͞Δ͜ͱ͕Ͱ͖· ͢ɻ
ɹPerlɹ (ƅшƅ)ɹWebAssembly ɹɹɹʘʗ|ɹy |ʘʗ
ɹɹPerlшƅWebAssembly ɹɹɹɹlʗ|ɹy |ʘl
zeroperl
zeroperlͬͯԿ • perlίϚϯυΛWebAssembly͚ʹίϯύΠϧͨ͠ͷ • github.com/6over3/zeroperl • ۩ମతʹwasi-sdkΛؚΊͯϏϧυͨ͠ͷ • wasi-sdklibcΛஔ͖͑ͯWASM͔ΒWASIΛ͑ΔΑ͏ʹͨ͠ ͷͰ…
perlΛWASMͰಈ͔ͯ͠Կ͕خ͍͠ͷʁ • zeroperlͷಈػ: ExifToolΛWebͰಈ͔͍ͨ͠ • exiftool.org • ը૾ͷϝλσʔλͰ͋ΔExifΛಡΈॻ͖͢ΔϞδϡʔϧ(Perl) • github.com/6over3/exiftool
• JavaScript͔ΒExifToolΛ͑ΔΑ͏ʹ͢Δ
1. PerlͰॻ͔Εͨࢿ࢈Λ͍͍ͨ
ͦͷଞPerlͰॻ͔ΕͨͷͰWASMͰಈ͔ͨ͠ Β(ໝ) • pt-query-digest • ϒϥβ্ͰϚΠάϨʔγϣϯ͍ͨ͜͠ͱ͕͋Δ͔Ͱ͍͏ͱṖ • ΤοδͳΒ༗༻͔ʁ͏ʔΜͲ͏ͩΖ͏ • όΠΦܥͩͱPerlͷίʔυͷࢿ࢈͕͋ΔΒ͍͠
2. ΤοδͰಈ͔͍ͨ͠
WASMϕʔεͷΤοδίϯϐϡʔςΟϯάڥ • Fastly Compute@Edge • WasmEdge • github.com/WasmEdge/WasmEdge • ࣗલͰFaaSΛཱͯΔ߹ʹ͏ίϯϙʔωϯτ
• Cloud fl are WorkersͰWASMಈ͘
3. ܰྔαϯυϘοΫεͱͯ͠ಈ͔͍ͨ͠
Anybatross • ΧϠοΫ͕ެ։͍ͯͨ͠ YAPC::Fukuoka͚ͷίʔυΰ ϧϑίϯςεταΠτ • Ϣʔβʔ͔Βૹ৴͞Εͨίʔυ Λ࣮ߦ͢ΔαϯυϘοΫεڥ ͱͯ͠WASMͱzeroperl͕༻͍ ΒΕ͍ͯΔ
[AD]ཪଆϒϩάॻ͍ͨͷͰͥͻʂ https://techblog.kayac.com/dive-to-anybatross
4. Only perl can parse Perl
???????
PerlΛύʔε͍ͨ࣌͠ʹ͏ʂ
ࢥ͍ग़͢γϦʔζ • YAPC::Japan::Online 2022ͷΞϯΧ ϑΝϨϯεͰࢲ͕ͨͭ͠ • Perlͱͯ͠ղऍͰ͖ͨΒফ͑Δͱ͍͏ ϧʔϧͩͬͨ • ࣌GoͰήʔϜ෦Λॻ͍ͯύʔε
Λ֎෦ίϚϯυݺͼग़͠Ͱ͍ͬͯͨ
ࠓͳΒWebͰ ΕΔͷͰͳ͍͔ʁʁʁʁʁ
ϓϨΠ
࣮Τά͍ߏ Perl on WASM on WASM #SPXTFS (PPO8"4. &CJUFO XB[FSP
[FSPQFSM
·ͱΊ • ϒϥβͰಈ͔ͤΔzeroperlͱ͍͏ͷ͕͋ΔΑ • WASMࣗମϒϥβͰಈ͔͢Ҏ֎ͷ༻్͋ΔΑ • Perl͓͠ΖݴޠͳͷͰɺ͓͠ΖݴޠΛ͋ͪͪ͜Ͱ ಈָ͔͍ͤͯ͠Α