#!/usr/bin/perl use strict; use Foo; use Bar; # Needless my $foo = Foo->new(); #### #!/usr/bin/perl use strict; use Foo; my $bar = Bar->new(); # Works because Bar is loaded by Foo #### package Foo; use Bar; sub new { ... }