BEGIN { if( ! eval { require Module::X; 1 } ) { die "You can't use feature X because Module::X is not installed.\n" if need_module_X(); sub A { croak "Not available" }; sub B(\%); *B= \&A; sub C(); *C= \&A; } else { Module::X->import( qw( A B C ) ); } }