in reply to Pass a Perl aref to C, work on it, and get it back as a Perl array

I use InlineX::C2XS for most of that - though I don't think there's many others using it.
It uses Inline::C to generate the desired XS file.
It will also (if directed) autogenerate the manifest file, the .pm file and the Makefile.PL.

As it stands, you're using Parse::RecDescent to parse the C code.
If that C file becomes large you'll probably find it significantly quicker to use the ParseRegExp parser. (There's also the pegex parser, though I haven't personally tried it out.)

Cheers,
Rob
  • Comment on Re: Pass a Perl aref to C, work on it, and get it back as a Perl array