sub UNIVERSAL::which_constants { my($class, @constants) = @_; return grep exists $constant::declared{"$class\::$_"}, @constants; } use constant FOO => "a string"; use constant BAR => [ qw/ an array / ]; use constant BAZ => { qw/ a hash / }; print "constant exists - $_\n" for main->which_constants( qw/ ichi FOO bar BAZ one DEUX / ); __output__ constant exists - FOO constant exists - BAZ