in reply to Re: Access package variables of subclass from base class
in thread Access package variables of subclass from base class

Interesting, I hadn't stumbled on this one because I had strict enabled. This also works fine, although I don't like disabling strict refs any more than I like using stringy eval:
no strict 'refs'; return ${ $class . '::ID' };