Resolving circular dependencies in Perl modules