use strict; use warnings; my %plates; while () { chomp; next if ! /(\w+)\s+(\d+)/; ++$plates{$1}{$2}; } for my $group (sort keys %plates) { print "$group ", join ', ', sort {$a<=> $b} keys %{$plates{$group}}; print "\n"; } __DATA__ ABC 334 NTR 557 ABC 442 FTE 442 HHR 443 NTR 554 ABC 123