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をWebAssembly上で動かすと何が嬉しいの??? / Where does Pe...
Search
mackee
December 09, 2025
Programming
920
0
Share
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
YAPC::Fukuoka 非公式リジェクトコン 2025
mackee
December 09, 2025
More Decks by mackee
See All by mackee
Agentに至る道 〜なぜLLMは自動でコードを書けるようになったのか〜
mackee
6
5.7k
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
14
7k
ワンバイナリWebサービスのススメ
mackee
10
8.7k
tanukistack ライブコーディング / tanukistack live-coding
mackee
0
640
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
1.1k
perl for shell, awk and sed programmers
mackee
3
2.8k
今更GoのWebフレームワークを作ろうとしているワケ / Why am I trying to create a Go web framework now?
mackee
1
1.1k
database/sqlでNullを扱う歴史とsql.Null[T]の登場 / sql.Null[T] history
mackee
0
990
マイクロサービス化を利用した Goへの移行事例
mackee
0
1.1k
Other Decks in Programming
See All in Programming
色即是空、空即是色、データサイエンス
kamoneggi
1
210
Old Dog, New Tricks: The Java 25 Reinvention - JNation
bazlur_rahman
0
140
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
290
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
200
These Five Tricks Can Make Your Apps Greener, Cheaper, & Nicer
hollycummins
0
250
Moments When Things Go Wrong
aurimas
3
130
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
190
関係性から理解する"同一性"の型用語たち
pvcresin
2
620
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.2k
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
6
860
CLIであることを活かしたGitHub Copilot CLI活用術 / GitHub Copilot CLI Pro Tips & Tricks
nao_mk2
1
1.1k
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
2.1k
Featured
See All Featured
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
300
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
Building an army of robots
kneath
306
46k
RailsConf 2023
tenderlove
30
1.5k
Statistics for Hackers
jakevdp
799
230k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
The browser strikes back
jonoalderson
0
1.1k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
190
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
300
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Raft: Consensus for Rubyists
vanstee
141
7.5k
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͓͠ΖݴޠͳͷͰɺ͓͠ΖݴޠΛ͋ͪͪ͜Ͱ ಈָ͔͍ͤͯ͠Α