use Net::POP3; use Email::Filter; my $pop = Net::POP3->new($host); if ($pop->login($user, $pass) > 0) { my $msgnums = $pop->list; # hashref of msgnum => size foreach my $msgnum (keys %$msgnums) { my $msg = $pop->getfh($msgnum); my $message; while (<$msg>) { $message .= $_; } my $mail = Email::Filter->new(data => $message); my $body = $mail->body; print $body; # $pop->delete($msgnum); } } $pop->quit;