dead_ricky, я не знаю что за команда where, но догадываюсь, что она делает ВОт тебе пример, русские имена файлов обрабатываются:
Код | use strict;
opendir my $dh, 'c:\\Documents and Settings\\sharq\\Рабочий стол\\'; foreach (readdir $dh) { printf "%15s %10d\n", $_, (stat($_))[7] if -f; }
|
Результат:
Цитата | >perl твой_скрипт.pl DiskInfo.lnk 435 RegCleaner.lnk 546 CCleaner.lnk 1464 твой_скрипт.pl 156 Thumbs.db 4608
|
На платформах Windows у ActiveState проблем с локалью нет, по крайней мере, я первый раз об этом слышу.
Если все-таки какие-то проблемы возникают, а именно не обрабатываются русские имена, то попробуй это:
Код | use locale; use POSIX qw (locale_h); setlocale(LC_CTYPE, 'ru_RU.CP1251'); setlocale(LC_ALL, 'ru_RU.CP1251');
|
Иногда хватает только
|