$imap->Peek(1); # don't mark mails as \Seen automatically my @unseen = reverse sort $imap->search_unseen; for my $i (@unseen) { my $msg = join '', @{$imap->get($i)}; unless (fork) { if (&process (Email::MIME->new (\$msg)) eq "notouch") { $imap->unsee ($i); exit; } } }