This page is about Perl's extension language XS. At the moment it's basically a collection of links. I don't think that many people are interested in Perl and XS but if you are interested in this topic and have some useful information, it might be interesting to hear from you, so why not send me an email to the address at the bottom of the page.
The "official" XS documentation. I find it difficult to read, especially the top part.
This link is to the website perldoc.perl.org, because for some reason the version of this document on CPAN has not been processed correctly.
This is part of the "official" Perl documentation. Like "perlxs", I find it very difficult to read. The document tends to veer off into discussions of things which aren't really relevant, which makes it very hard for a beginner to follow, since the poor beginner doesn't know what is important.
This is a digest of perlxstut, on this website. The goal of this digest is to remove all the distractions so that the document is simply a tutorial on XS, rather than a discussion of Perl programming in general.
This is the main document to refer to for programming a C extension to Perl.
Home page for a book on using XS.
From the introductory paragraph:
This article is about XS. It explains what it is, why it is, how it works, and how to use it. It includes a complete, working example of an XS module, and a stub module that you can use as a starting point for your own code. It is an express goal of this article to provide the background and information necessary for you to write your own XS modules.
Tools such as
h2xs. The discussion is slightly dated since the modern version of these tools uses something calledXSLoaderrather than theDynaloaderdescribed here.
Discussion of XS modules.
Extended example of an XS module.
Many complaints about h2xs. I too have found h2xs to be difficult to use, and this article gives some more detailed insights.
How to convert C array into a Perl array. More generally, an example of how to use PPCODE to manipulate the Perl stack.