##
$val =~ s/\s+/:/g
####
my %hash;
while () {
s/\s+$//; # remove all trailing whitespace (not just newline)
s/(\S+\s+\S+\s+)//; # remove (and capture) first two fields
my $key = $1;
s/\s+/:/g; # join remaining fields with ":"
push @{$hash{$key}}, $_;
}
foreach my $k (sort keys %hash) {
print $k.join( ', ', @{$hash{$k}} )."\n";
}