Convert::Binary::C is a preprocessor and parser for C type definitions.
It is highly configurable and supports 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 C
types instead of a string representation of the data structure for
conversion of binary data from and to Perl's complex data structures.