eval { require "Some::Module"; }; if($@) { # need to install CPAN->install("Some::Module"); eval { require "Some::Module" }; # check if we have it now if($@) { print "installation failed" } } };