Want to extend Perl with libraries written in other languages? Interested in adding a secure plugin system to your Perl app? Want to stay away from building and linking native extensions? This talk will cover extending Perl with Extism, a lightweight framework for building with WebAssembly.Traditionally, Perl is extended with libraries written in other languages using the C ABI and linking via an XS extension or FFI. Building and linking a native library or extension into Perl can be error prone and even introduce memory safety issues into a Perl program. Building to WebAssembly (Wasm) enables running code from a multitude of programming languages without building, running, and linking them as native code. How can we easily integrate running Wasm with Perl to allow extending Perl without perils of linking native code?
In this talk, I’ll start by providing basic background information on extending Perl and discussing why you might want to use Wasm instead of linking native extensions. Then, I’ll contrast the development workflow using Wasm both directly and with the [Extism](https://extism.org/) framework. Finally, I’ll showcase how Extism can be used to implement a sandboxed plugin system in your Perl app that supports a multitude of programming languages.Audience: All["Perl", "Open Source", "Native"]