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.