in reply to counting the number of occurrances of a word using regex

tr does not do what you think it is doing. It does not even start up the regex engine (so you are not even using a regular expression). What is does is transliteration (exchanges each occurance of a character in the searchlist with the corresponding character from the replacement list.
(i.e. tr/SEARCHLIST/REPLACEMENTLIST/).
You are probably looking for something more along these lines:
use warnings; use strict; my $str = "The quick brown fox jumps over the lazy dog"; my $count = ($str =~ s/(the)/$1/gi); print "$count\n";
Though I am sure there are more elegant ways to do this. The 6 comes from:

1. h in The
2. e in The
3. e in over
(4,5,6) t,h,e in the

which are characters occuring in the Replacement list.

-enlil