use strict; use warnings; use Mail::Internet; # parse incoming headers # from a stream, could be # a file handle too.. my $message = new Mail::Internet ([<>]); my $from = $message->get('From'); my $subject = $message->get('Subject'); my @body = @{$message->body()}; # ..print or manipulate as normal.