#!/usr/bin/perl use Email::AddressParser; use Data::Dumper; use MIME::Parser; use strict; use warnings; undef $/; my $message = <>; my $parser = MIME::Parser->new; $parser->tmp_to_core(1); $parser->parse_nested_messages(1); my $entity = $parser->parse_data($message); $entity->dump_skeleton; my $head = $entity->head; my $subject = $head->get('Subject',0); if($subject =~ /\n/) { chop($subject); } my $to = $head->get('To', 0); if($to =~ /\n/) { chop($to); } my @addresses = Email::AddressParser->parse($to); $to = $addresses[0]->address if(@addresses); my $num_parts = $entity->parts; print "$subject\t$to\t$num_parts\n"; $entity->purge;