my ($acct,%records); foreach $entry ($mesg->entries) { $firstName = $entry->get_value("firstName"); $lastName = $entry->get_value("lastName"); $accountName = $entry->get_value("accountName"); $accountNumber = $entry->get_value("accountNumber"); $records{$accountName} = [ $firstName, $lastName, $accountNumber ]; } foreach $acct (sort keys %records) { print $acct,": ",join(' ',@{$records{$acct}}),"\n"; }