Автоматическое определение кодировки терминала в perl-скрипте

Надоело руками менять кодировки для нормального вывода русского текста в своих perl-скриптах в зависимости от кодировки терминала (запускаю скрипты под Linux (utf8), Windows (ActivePerl, cp866) и Windows (Cygwin, cp1251)). Немного погуглил, но никаких готовых рецептов не встретил, хороший запрос для поиска что-то в голову не пришёл.
Решил поступить следующим образом — определять операционную систему, в которой запущен [...]