package MySub1; use MySub2; sub AAA { my $x = MySub2::DDD(); return "AAA : $x"; } sub BBB { return "BBB"; } 1; #### package MySub2; use MySub1; sub CCC { my $x = MySub1::BBB(); return "CCC : $x"; } sub DDD { return "DDD"; } 1; #### use strict; use MySub1; use MySub2; print MySub1::AAA(), "\n"; print MySub1::BBB(), "\n"; print MySub2::CCC(), "\n"; print MySub2::DDD(), "\n";