c:\@Work\Perl\monks>perl -wMstrict -le "use Data::Dump qw(dd); ;; my ($kw) = map qr{ (?i) (?: $_) }xms, join q{|}, map quotemeta, reverse sort qw(.NET C C++) ; ;; my $title = 'C xC Cx C C C C++ xC++ C++x C++ C++ C++ .NET x.NET .NETx .NET .NET .NET c c++ .net' ;; my %count; $count{ uc $1 }++ while $title =~ m{ (? 5, "C" => 5, "C++" => 5 }