use strict; use warnings; use v5.12; BEGIN{ use Convert::Binary::C; my $c = Convert::Binary::C->new->parse_file( 'mytest.h' ); my %c_enums = map %{ $_->{enumerators} || {} }, $c->enum; eval "use constant $_ => $c_enums{$_};" for keys %c_enums; } say "efg => ", efg; say "kurt => ", kurt;