in reply to Hashes of arrays populated from a Text File

Just for the alternative, splitting on TAB triggers me to mention Text::CSV_XS (using toolic's hash approach):

use strict; use warnings; use Text::CSV_XS; my $csv = Text::CSV_XS->new ({ sep_char => "\t", auto_diag => 1 }); my %Diag; while (my $row = $csv->getline (*DATA)) { push @{$Diag{$row->[0]}}, $row->[1]; } $csv->eol ("\n"); $csv->sep_char (","); $csv->print (*STDOUT, [ $_, @{$Diag{$_}} ]) for sort keys %Diag; __DATA__ Name1 1234 Name2 9999 Name1 5514 Name3 5415 Name2 6419

-->

Name1,1234,5514 Name2,9999,6419 Name3,5415

Enjoy, Have FUN! H.Merijn