in reply to class constants in derived classes

Perl does not have class constants (or any other class data member) per se. It does have package scope variables, but those are not inherited.

In fact the only thing you can inherit from a base class are the (class and object) methods. Even object data members are not automatically inherited - most of the time they're all mashed together in the underlying hashref. The OO features of Perl are quite primitive - though I do find the method calls quite enlightning and clear compared to other languages that try to hide things like references, $self / this etc.

Now, as a solution to your problem I would propose to use a method that returns the pattern that you need. adrianh's solution above is a good example of how to do that. - For optimisation you'd might take a look at the qr construct in perlop.

HTH.

-- Joost downtime n. The period during which a system is error-free and immune from user input.