package Foo; use Bar; sub new { return bless {}, shift; } 1; #### package Bar; use Foo; sub new { return bless {}, shift; } my $foo = Foo->new(); 1; #### #!/usr/bin/perl use strict; use warnings; use Foo;