##
if (eval { require Module::Foo }) {
Module::Foo->import() if Module::Foo->can('import');
# I've got foo!
} else {
die $@ if $@;
}
####
if (eval { use Module::Foo }) {
# I've got foo!
} else {
die $@ if $@;
}