perl-Linuga-EN-Syllable
Lingua::EN::Syllable::syllable() estimates the number of syllables in
the word passed to it.
Note that it isn't entirely accurate... it fails (by one syllable) for
about 10-15% of my /usr/dict/words. The only way to get a 100% accurate
count is to do a dictionary lookup, so this is a small and fast
alternative where more-or-less accurate results will suffice, such as
estimating the reading level of a document.
I welcome pointers to more accurate algorithms, since this one is
pretty quick-and-dirty. This was designed for English (well, American
at least) words, but sometimes guesses well for other languages.