MyMod.xs, INLINE.h and Makefile.PL were created by cd'ing to the directory that contains this README file and running: perl -MInlineX::C2XS -e "InlineX::C2XS::c2xs('MyMod', 'MyMod', '.', {AUTOWRAP => 1, VERSION => 0.01, WRITE_MAKEFILE_PL => 1})" Probably a good idea to verify this procedure yourself - ie remove MyMod.xs, INLINE.h and Makefile.PL from this directory, cd to this directory and run the same one liner. (You'll need to interchange the double-quotes and single-quotes if you're running a nix type shell.) (The careful observer will note that the INC entry in the generated Makefile.PL specifies the cwd - which is irrelevant for the purposes of this exercise as there are no additional includes to be found. For this demo, it doesn't matter whether 'INC' specifies an existent directory, a non-existent directory, or nothing at all.) 'MyMod.pm', 't/test.t' and README (this file) were hand written - just to make the demo complete. To build MyMod just run: perl Makefile.PL make test You could even run 'make install' if you want - but I don't know why you would actually want to install this module.