UPDATE: видимо ответ — это http://stackoverflow.com/questions/6162484/why-does-modern-perl-avoid-utf-8-b... поэтому отмечаю задачу как решенную; но если кто-то хочет дополнить или исправить то-что-по-ссылке — welcome (в частности, пока что не выяснилось, как чекнуть файл на соответствие utf8) _____________________________________________________________________
проблема в том, что 0xD0, которое префикс русской буквы, съедается, и получается бред:
20 20 20 B1 D0 B0 D0 B7 D0 B5 20 D1 82 D0 B8 D0
видимо это из-то того, что у меня регекспы для замены включают и русские, и латинские буквы
в консоли:
$ locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
вероятно, есть простой рецепт (скажем, utf-16), как в таких условиях правильно рабтать, поэтому я жду, что мне его подскажут и не пишу что за регекспы и не пытаюсь в них найти виновного в этом безобразии
можно, в принципе, конвертнуть все в CP1251 (сразу насчет КОИ-8: там [а-я] емнип не даст русский алфавит), но хотелось бы оставаться в юникоде
попытка подать перлу -C7 привела к тому, что он начал бредить постоянно, а не точечно, как сейчас