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
1.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
380
Agentに至る道 〜なぜLLMは自動でコードを書けるようになったのか〜
mackee
6
6k
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
14
7.2k
ワンバイナリWebサービスのススメ
mackee
10
8.9k
tanukistack ライブコーディング / tanukistack live-coding
mackee
0
730
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
1.2k
perl for shell, awk and sed programmers
mackee
3
2.9k
今更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
1k
Other Decks in Programming
See All in Programming
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
430
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
540
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
190
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.7k
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
4
5.1k
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
130
Foundation Models frameworkで画像分析
ryodeveloper
1
130
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
2.9k
継続モナドとリアクティブプログラミング
yukikurage
3
630
霧の中の代数的エフェクト
funnyycat
1
420
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
150
はてなアカウント基盤 State of the Union
cockscomb
1
1.3k
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
190
Ruling the World: When Life Gets Gamed
codingconduct
0
290
Designing Experiences People Love
moore
143
24k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
510
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Designing Powerful Visuals for Engaging Learning
tmiket
1
460
Optimizing for Happiness
mojombo
378
71k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
220
Claude Code のすすめ
schroneko
67
230k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
590
Bash Introduction
62gerente
615
220k
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͓͠ΖݴޠͳͷͰɺ͓͠ΖݴޠΛ͋ͪͪ͜Ͱ ಈָ͔͍ͤͯ͠Α