use strict; my $file = "email_list.txt"; my %domains; open(DATA,"<",$file) || die "Unable to open file '$file': $!\n"; while () { my ($user,$domain) = split /\@/; $domain =~ s/^\s*//s; # Stripping out leading white spaces $domain =~ s/\s*$//s; # Stripping out trailing white spaces $domains{lc($domain)}++; } close(DATA); foreach my $domain (sort keys %domains) { print "$domains{$domain} $domain\n"; }