package foo; use base qw( Exporter ); my %constants; use constant +{ %constants = ( AAA => 1, BBB => 2, CCC => 3, DDD => 4, ) }; our @EXPORT = keys %constants; 1; package foo2; use base qw( Exporter ); my %all; my %foo; my %bar; use constant +{ %all = ( %foo = ( AAA => 1, BBB => 2, ), %bar = ( CCC => 3, DDD => 4, ), ) }; our @EXPORT_OK = keys %all; our %EXPORT_TAGS = ( all => [ keys %all ], foo => [ keys %foo ], bar => [ keys %bar ], ); 1;