In the following code, it is the version number is defined
by the
constant pragma,
and all package variables of the form
our $package::VERSION
refer to the constant function which is inherited by default.
In this way, all normal queries for version information get the same
number from the same source. Is this what you wanted?
package Person;
use constant VERSION => '5.0';
our $VERSION=VERSION;
package American;
use base 'Person';
our $VERSION=__PACKAGE__->VERSION;
package main;
use American;
print 'version=', $Person::VERSION;
print 'version=', $American::VERSION;