while (1) { my $msg_cnt = $imap->message_count($FOLDER_INBOX); if ($msg_cnt) {. my $dbh = connectToDb(); $imap->select($FOLDER_INBOX); for my $msg_num (1..$msg_cnt) { my $this_msg; eval { $this_msg = $imap->body_string($msg_num) or die; }; my $dt = getCurrentDateTime(); if ($@) { my $log = "$dt: Error: $@\n"; print "$log" if ($DEBUGGING or $CHATTY); print LOG "$log" if (not $DEBUGGING); } else { if (msgIsEndOfDayAudit('msg' => $this_msg)) { forwardMsg(..); eval { moveMsgTo('msgnum' => $msg_num, 'folder' => $FOLDER_SEEN); }; } else { my $info = extractRecFromMsg('msg' => $this_msg); .. more code .. } goToSleep($SLEEPTIME); }