package My::Module; if( ... ) { # This module is useless in this case: return 1; } ... 1; #### package My::Module; if( ... ) { require My::Module::Internal; } 1;