in reply to Trying to break cyclical dependencies in Perl modules
In your first example, an easy way of breaking the cycle is to put the sub new before the use statement (in both files). The problem here isn't the cycle by itself, it's that both modules, at compile-time need code defined by the other. Code that hasn't been compiled yet. Moving the $object = Bb->new(); inside a method that only gets called at runtime should solve this problem as well.