in reply to children without inheritance

You are asking where in the file system the class source code should live? I guess the answer is anywhere you care to put it.

The naming of perl classes does no imply inheritance, so if B is a sub class of A, you don't have to name them MyCompany::A and MyCompany::A::B. You can if you like, and in many places that is the coding convention, but there is no requirement to do so from the language.

Conversely, If A and B are not related to each other through class inheritance, then neither the language, nor any coding convention I have come across says anything about how you should name the classes. You can do whatever you see fit.

Sorry I can't provide an answer, but I don't think your question has one.