Glückwunsch, dein C-Programm ist bezüglich der Stringterminierung kaputt. Nach jeder Ziffer Null (0x30h) kommen NULs (0x00h, in Perl repräsentiert als Oktalescape \0), das ist gewiss nicht so beabsichtigt. Als Workaround kannst du sie auch mit dem s-Operator entfernen, aber es ist besser, das C-Programm zu richten.