Lingua::DetectCyrillic. Пакет определяет 7 кодировок кириллицы, а также язык - русский или английский. Использует встроенные частотные словари; обычно для правильного определения достаточно одного слова.
Домашняя страница в Интернете: http://www.bible.ru/DetectCyrillic