SWIG is a quick and easy way to generate perl stubs for your C/C++ programs. You just need to make a small swig.defs file that defines the exported parts of your C program. Then SWIG will make a C header file, and basic perl module that "just works".
Or you can do a bunch of XS stuff if you're feeling masochistic.
I'll second this - SWIG is an amazingly easy and powerful tool. One thing to note - IIRC, only basic data types like strings, integers, and floats can be passed back and forth, so if you want to pass structs back and forth you'll need to write some gettor/settor functions in C, because otherwise the structs will be blind references. You may need some constructor/destructor functions as well to allocate/free memory.