use Mail::IMAPClient; my $imap = Mail::IMAPClient->new( Server => 'imap.gmail.com', User => 'me', Password => 'blah', Ssl => 1, Uid => 1, ); my $folders = $imap->select('INBOX'); my $msgs = $imap->search("X-GM-THRID", $dec_num_id); foreach my $msg (@$msgs) { my $msg_st = $imap->message_string($msg); # slice and dice messages with modules listed below }