use strict; use warnings; open TEMP, '>', 'temp1.txt'; print TEMP <', 'temp2.txt'; print TEMP <', 'temp3.txt'; print TEMP <) { chomp $_; next unless length; my $inp = $_; my $client = $inp; my $num = $inp; $client =~ tr/0-9().-//d; $client =~ s/\s*$//; $num =~ tr/ a-zA-Z().-//d; #make big list $bigList{$client}{$num}++; } for my $one (sort keys %bigList) { print "$one ", join ', ', sort {$a <=> $b} keys %{$bigList{$one}}; print "\n"; }