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


in reply to Check even numbers?

If you want to count the number of occurences of a single character in a string, then you should look at using 'tr'.

$str = 'ABABAABBA'; $count = $str =~ tr/A//; # $a = 5;

If you omit the second arg to tr, it knows you are not changing the string, but still counts up the occurences for you, which makes this very efficient.

After that you just have to see if the number is positive ($count > 0) and use Grandfather's test above to see if it is even ( !($count & 1) ).

if ($count && !($count & 1)) { # Do something with this protein sequence }