> Проблема не в locale, а в том что "$!" - это октеты даже если локаль c UTF-8.<br>Именно это меня и удивляет.<br>Т.е.
 я так и не понял, что и где должно сломаться, если выставлять флаг 
is_utf8 на строки с сообщением об ошибке(ес-но если локаль UTF-8).<br><br>> И как же Perl узнает, что локаль именно utf8?<br>Мне кажется, что для этого подойдёт LANG=*_*.UTF-8<br><br>> Есть два случая: бинарные последовательности и настоящие строки.<br>
По-моему, тут должны быть "настоящие строки", т.к. получены они из стандартного для всей системы справочника.<br><br>> 1. Посмотреть на кодировку текущей локали.<br>Да, вполне разумное действие.<br><br>
> 2. Декодировать сообщение из этой кодировки в текст.<br>Я говорил только о случаях, когда кодировка указана и она utf8, т.е. LANG=*.UTF-8<br>