I use an array that holds the required modules and then evaluate $@, sometimes evaluating a module's existence is nice if you are sharing your code across machines
@module = ("require Mail::Sendmail 0.75");
for(@module){
eval;
if($@){
$_=~/\w+\W(\S+)/;
print "Module $1 does not exist, please install it fir
+st!\n";
}else{
#do stuff
}
};