in reply to sharing constants between base and derived classes

Magic constants should be provided by the class-side method call:
my $object = X::Child->new(mode => X::Child->BETA);
That way, if a child class needs to override it, it can.

-- Randal L. Schwartz, Perl hacker

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.