package abstracted; use base qw(Class::Data::Inheritable); # Set up DataFile as inheritable class data. __PACKAGE__->mk_classdata('name'); __PACKAGE__->name('I call myself the abstracted class'); package abstracted::versionA; use base 'abstracted'; __PACKAGE__->name('vA'); package abstracted::versionB; use base 'abstracted'; __PACKAGE__->name('vB');