package Baseclass; # common attributes and methods sub use_values { croak ("Abstract class"); } package Subclass_1; use base 'Baseclass'; my @values = (...); sub use_values { ... } package Subclass_2; use base 'Baseclass'; my @values = (...); sub use_values { ... } #### package Subclass_1; use base 'Baseclass'; sub use_values { my @values = (...); ... } #### package Subclass_1; use base 'Baseclass'; { my @values = (...); sub use_values { ... } }