sub can { my ($class, $name) = @_; return if $name eq 'constant'; my ($error, $val) = constant($name); return if $error; my $sub = sub () { $val }; { no strict 'refs'; *{ $class . '::' . $name } = $sub; } return $sub; }