my %hash; while () { chomp ( my ( $key, $val ) = split /,\s+/ ); push @{$hash{$key}}, $val; } print "$_ ", join( ", ", @{$hash{$_}} ), "\n" foreach sort keys %hash;