foreach my $msgnum (keys %$msgnums) { print "Parsing email...\n"; #Get current messgae and create MIME object $lines = $pop3->get($msgnum); $current = join('', @$lines); $parsed = Email::MIME->new($current); #For each part in the message, extract the xml data foreach $part ($parsed->parts) { if (($part->{ct}->{discrete} eq 'application') && ($part->{ct}->{composite} eq 'plain')) { $xmlData = $part->body; #print $xmlData; #$xml = $xml->XMLin($xmlData); } } #For each extracted part of the xml data, parse the xml $xml = $xml->XMLin($xmlData); print "Component Data\n"; .... }