use strict; use warnings; use Data::Dumper; chomp(my @PatternArray = map { /^\s*$/ ? () : $_ } ); my %occurance; $occurance{$_}++ for @PatternArray; print Dumper(\@PatternArray), Dumper(\%occurance); # using occurance table print "PPLLOO has appeared $occurance{PPLLOO} times.\n"; # using grep print "TTRRDD has appeared ", scalar grep(m/TTRRDD/, @PatternArray), " times.\n"; __DATA__ PPLLOO HHYYTT TTRRDD PPLLOO TTRRDD PPLLOO PPLLOO