my $email_date= DateTime::Format::Mail->new->loose; my $imap= Net::IMAP::Simple->new($host, ...) or die; $imap->select($mailbox) or die; @message_ids= $imap->search("(SUBJECT foo)") or die; for my $msg_id (@message_ids) { my $header_lines= $imap->top($msg_id) or die; my $head= MIME::Head->from_file(\join('', @$header_lines)); my $date= $email_date->parse_datetime($head->get("Date")); my $subject= $head->get("Subject"); printf "%s %s : %s\n", $date->ymd, $date->hms, $subject; }