in reply to Re^3: Conditional inheritance strategy
in thread Conditional inheritance strategy

With your confirmation that they only contain one _init() subroutine each--although you are calling them as methods--personally, I can see no reason not to simply move the two _init() routines into your My package (with different names), and drop the extra packages.

Well, the main reason is modularity:

For me, it makes a lot of sense to separate code that reads data in a special format to feed the objects from code that manage the objects.