d1 ISA base d2 ISA base #### use Class::MethodMaker [ new => -singleton=>'new' ]; #### my $a = d1->new() my $b = d2->new()