http://www.perlmonks.org?node_id=912100


in reply to count the maximum no.of occurence

You're almost there, you simply need to count instead of simply checking for existance:

perlfaq4 - How can I count the number of occurrences of a substring within a string?

Replies are listed 'Best First'.
Re^2: count the maximum no.of occurence
by remiah (Hermit) on Jun 30, 2011 at 12:14 UTC

    I am reading perlretut, and g modifier and zero width look ahead assertion(?=) is what I am reading now... This is good example for me.

    use warnings; use strict; my $str1 = q/It is a guide to action which ensures that the military a +lways obey the commands of the party./; my $str2 = q/It is a guide to action that ensures that the military wi +ll forever heed Party commands is a guide./; my $n=0; while ( $str1 =~ /(?=(\S+\s+\S+\s+\S+))/g ) { #while ( $str1 =~ /(\S+\s+\S+\s+\S+)/g ) { my $t1 = $1; my $line=""; while ( $str2 =~ /($t1)/g ) { $line .= $line eq '' ? '' : ','; $line.="str=$t1, $1($-[0])"; $n++; } print "$line\n" if $str2 =~/$t1/; } print "No of matching is : $n\n";