if (eval "use Module::Foo") { # I've got foo! } else { die $@ if $@; } #### 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 $@; }