use SelfLoader; sub sub1; use ModuleA; my $val = new ModuleA; #### package ModuleA; use SelfLoader; sub new; sub A1; use ModuleB __DATA__ sub new { } sub A1 { } #### Undefined subroutine &ModuleA::new called at script.pl line 4 (#1) (F) The subroutine indicated hasn't been defined, or if it was, it has since been undefined.