use Mail::IMAPClient; my $imap = Mail::IMAPClient->new( Server => $host, User => $id, Password=> $pass, ) or die "Cannot connect to $host as $id: $@"; $imap->select($folder); my @msgs = $imap->unseen(); foreach my $msgid( @msgs ){ ... }