From: PerlFAQ Server on
This is an excerpt from the latest version perlfaq3.pod, which
comes with the standard Perl distribution. These postings aim to
reduce the number of repeated questions as well as allow the community
to review and update the answers. The latest version of the complete
perlfaq is at .


3.27: Where can I learn about linking C with Perl?

If you want to call C from Perl, start with perlxstut, moving on to
perlxs, xsubpp, and perlguts. If you want to call Perl from C, then read
perlembed, perlcall, and perlguts. Don't forget that you can learn a lot
from looking at how the authors of existing extension modules wrote
their code and solved their problems.

You might not need all the power of XS. The Inline::C module lets you
put C code directly in your Perl source. It handles all the magic to
make it work. You still have to learn at least some of the perl API but
you won't have to deal with the complexity of the XS support files.


The perlfaq-workers, a group of volunteers, maintain the perlfaq. They
are not necessarily experts in every domain where Perl might show up,
so please include as much information as possible and relevant in any
corrections. The perlfaq-workers also don't have access to every
operating system or platform, so please include relevant details for
corrections to examples that do not work on particular platforms.
Working code is greatly appreciated.

If you'd like to help maintain the perlfaq, see the details in