Имена файлов я читаю из каталога readdir(DIR);
open(HR, "<Юлия.jpg"); прекрасно работает.
Прагмы use bytes; use locale; в модуле Tk не найдены.
И даже при вставке use bytes; в процедуру Tk::Image::new() ничего не меняется.
Так что, похоже, она здесь ни причём.
Прагма use bytes; работает только внутри области видимости блока
и воздействует только на функции работы со строками length, index, substr ...
Здесь же Perl где-то выполняет автоматический перевод 8-битных символов в unicode.
Отладчик в процедуру $widget->Tk::image('create',$leaf,@_); даже не заходит.
Демонстрационная программа widget.bat
при выборе файла с русским именем из диалога
тоже не может его открыть
common dialog
2. File selection dialog
Text
5. A search tool built with a text widget.