our @GLOBAL_SYMBOLS; # these are not package constants, but Perl artifacts BEGIN { @GLOBAL_SYMBOLS = qw(BEGIN EXPORT); } #### sub is_constant { my $k = shift; return $k =~ /^[A-Z]+$/ && !grep { $_ eq $k } @GLOBAL_SYMBOLS } #### our %GLOBAL_SYMBOL; # these are not package constants, but Perl artifacts BEGIN { %GLOBAL_SYMBOL = map { $_ => 1 } qw(BEGIN EXPORT ISA EXPORT_OK GLOBAL_SYMBOL); } #### sub is_constant { my $k = shift; return $k =~ /^[A-Z_0-9]+$/ && !$GLOBAL_SYMBOL{$k}; }