Portal:Embedding and Extending Perl

From Perl Guilds - Getting Medieval with Perl
Jump to navigation Jump to search

Introduction[edit | edit source]

Extending and Embedding Perl by Jenness and Cozens is seminal work on this topic.
Extending and Embedding Perl by Jenness and Cozens is seminal work on this topic.

One of Perls major strengths is the many options programmers have for extending Perl using C code and digging into the guts of the interpreter. This page is the dedicated portal for the vast and option rich subject.

Note: This portal is in need of a domain expert(s) willing to participate at least in the "Discussion" tab, in the meantime it is a collection of links and other resources. Email me if you're interested.

Modern Resources[edit | edit source]

Recent Articles[edit | edit source]

Premium XS Integration Part 1 by nerdvana (blogs.perl.org)

The author advocates for a balanced XS approach that exposes low-level C library functions while ensuring runtime safety to prevent crashes. The article critiques common patterns for binding C structs to Perl objects, pointing out issues like segfaults and improper object management. It recommends using Perl’s magic system to link C objects to Perl objects securely, preventing accidental errors. Typemaps are also highlighted as a way to simplify XS code by automating object validation and memory management, reducing boilerplate and improving error handling. Additionally, the article introduces the use of custom structs to manage multiple C pointers for complex libraries, further streamlining XS code. These techniques aim to create foolproof, efficient XS bindings, providing clear error messages and improving the overall developer experience.

Past[edit | edit source]