perlquestion
Arik123
<p>Consider the following code:</p>
<code>
use Net::IMAP::Simple::SSL;
use Email::MIME;
my $imap = Net::IMAP::Simple::SSL -> new ('imap.gmail.com');
$imap -> login ("LOGIN\@gmail.com" => 'PASS');
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;
}
}
}
</code>
<p>&process() should decide whether or not to mark the message as \Seen. however, it doesn't work. Whatever &process() returns, the message is marked as \Seen. I think it has to do with the exit() the child performes - maybe that forces the message to be \Seen.</p>
<p>Any solution? thanks!</p>