Convert::Binary::C is a preprocessor and parser for C type definitions.
It is highly configurable and should support arbitrarily complex data
structures.  Its object-oriented interface has "pack" and "unpack"
methods that act as replacements for Perl's "pack" and "unpack" and
allow to use the C types instead of a string representation of the data
structure for conversion of binary data from and to Perl's complex data
structures.