in reply to "use" modules inside modules

And it all starts to get a bit circular! The image of a dog chasing its own tail comes to mind.:-)

One way to break the chaos is to identify the common code used by both and put it in its own module, say, Common.pm. This could contain the "data-hash" and any functions needed by both A.pm and B.pm. A.pm and B.pm would then each have use Common;. Hopefully the dog would have one more turn and then lie down.