in reply to Circular usage

Yes this is possible, people do it all the time, but it's very poor design. All you need to do is forward declare those subroutines (perldoc perlsub)