eval {
# my stuff ...
#Note: return *only* exits eval {...}
#make sure success "returns" true
return 1;
} or do {
# what you are currently putting inside if ($@) {...} goes here.
}
####
if($opt_daemon) {
# ... intro stuff
while (1) {
foreach my $opt_mailid (@mail_ids) {
my ($log) = Log::Log4perl::get_logger('main');
my $data = get_data('mail_id' => $opt_mailid,
'file_path' => "/spool/emails");
##connect db
MysqlUtils::connect();
eval {
MysqlUtils::insert_record($data);
};
if($@) {
$log->error("unable to insert data");
}
}
}
} else {
print STDOUT "Normal mode\n";
my ($log) = Log::Log4perl::get_logger('main');
my $data = get_data('mail_id' => $opt_mailid
, 'file_path' => "/spool/emails");
##connect db
MysqlUtils::connect();
eval {
MysqlUtils::insert_record($data);
};
if($@) {
$log->error("unable to insert data");
}
}
##
##
sub runMailHandler {
my ($opt_mailid) = @_;
my ($log) = Log::Log4perl::get_logger('main');
my $data = get_data('mail_id' => $opt_mailid
, 'file_path' => "/spool/emails");
##connect db
MysqlUtils::connect();
eval {
MysqlUtils::insert_record($data);
return 1;
} or do {
$log->error("unable to insert data");
}
}
if($opt_daemon) {
# intro stuff ...
while (1) {
runMailHandler($_) foreach @mail_ids;
}
} else {
runMailHandler($opt_mailid);
}