#!perl use strict; use warnings; use XML::Twig; use Data::Dumper; my $xml = do{local $/;}; my %data=(); my $t = XML::Twig->new( twig_handlers=> { Section => \§ion }, ); $t->parse($xml); print Dumper \%data; sub section { my ($t,$e) = @_; my $type = $e->att('type'); for ($e->children('Entity')){ push @{$data{$type}},$_->atts; } }; __DATA__ #### APPROVE 999999 MICHELLE 800-555-5555 CYNTHIA 555-555-5555 CHANGE PENDING 12/10/2015 09:29:02 AM