The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"(Perl) Проблема с кодировкой командной строки Windows "
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Perl)
Изначальное сообщение [ Отслеживать ]

"(Perl) Проблема с кодировкой командной строки Windows "  +/
Сообщение от inot email(ok) on 22-Июл-10, 13:30 
Не могу разобраться в чем проблема.. Я хочу собрать все вложенные папки в массив... На винде так не делал не разу, столкнулся и в тупике. Листинг такой

my $dir="C:\\Отделы\\Сервис";
my @dirlist=`dir /AD /S /B $dir`;
foreach my $dirlist (@dirlist) {
print $dirlist . "\n";
}

Ошибка вот этой команды `dir /AD /S /B $dir` - The system cannot find the file specified.

Если вывести переменную $dir, то там вместо русских букв будет тарабарщина.

Что нужно доделать? Где я не прав?

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "(Perl) Проблема с кодировкой командной строки Windows "  +/
Сообщение от NuINu (??) on 22-Июл-10, 22:27 
>[оверквотинг удален]
>foreach my $dirlist (@dirlist) {
>print $dirlist . "\n";
>}
>
>Ошибка вот этой команды `dir /AD /S /B $dir` - The system
>cannot find the file specified.
>
>Если вывести переменную $dir, то там вместо русских букв будет тарабарщина.
>
>Что нужно доделать? Где я не прав?

ты не прав в том что выбрал виндовс как ос для которой надо писать программы.
а что бы не было тарабарщины в место русских букв изучи вопрос о возможных кодировках, в том числе и о кодировке которую желает видеть команда дир, и переведи в нее указанное тобой название.(тут есть несколько целевых кодировок кстати(кодировка для дир, кодировка исходная, кодировка для вывода)
для начала почитай perldoc Encode

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "(Perl) Проблема с кодировкой командной строки Windows "  +/
Сообщение от inot (ok) on 22-Июл-10, 23:57 

>
>ты не прав в том что выбрал виндовс как ос для которой
>надо писать программы.

Я думаю, что тебя это не должно трогать. И если появилась надобность писать под винду, значит написать такое под линукс нет никакой возможности.
>а что бы не было тарабарщины в место русских букв изучи вопрос

Вопрос я изучил, проблему которую решить не получается, выложил на форум..

>для начала почитай perldoc Encode

для начала прочитай вопрос. Чтобы не было этого бесполезного флуда с твоей стороны

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "(Perl) Проблема с кодировкой командной строки Windows "  +/
Сообщение от Andrey Mitrofanov on 23-Июл-10, 09:23 
>Что нужно доделать? Где я не прав?

http://www.opennet.ru/openforum/vsluhforumID8/6517.html#7
http://www.opennet.ru/openforum/vsluhforumID3/68567.html#73

---Во всём. Виноват. Майкрософт.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "(Perl) Проблема с кодировкой командной строки Windows "  +/
Сообщение от inot email(ok) on 23-Июл-10, 09:28 
>>Что нужно доделать? Где я не прав?
>
>http://www.opennet.ru/openforum/vsluhforumID8/6517.html#7
>http://www.opennet.ru/openforum/vsluhforumID3/68567.html#73
>
>---Во всём. Виноват. Майкрософт.

Незнаю причем тут микрософт, нужно быть сильно недалеким чтобы в чем-то его винить. Проблема решилась добавлением кавычек.

my @dirlist=`dir /AD /S /B \"$dir\"`;

Вот так. Микрософт как всегда оказался не причем )

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "(Perl) Проблема с кодировкой командной строки Windows "  +/
Сообщение от Andrey Mitrofanov on 23-Июл-10, 10:00 
>Незнаю причем тут микрософт, нужно быть сильно недалеким
>#>>Если вывести переменную $dir, то там вместо русских букв будет тарабарщина.

Казалось бы, при чём тут Лужков!.. и кавычки? Впрочем, надо, так надо!

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "(Perl) Проблема с кодировкой командной строки Windows "  +/
Сообщение от NuINu (??) on 26-Июл-10, 20:33 
>[оверквотинг удален]
>>http://www.opennet.ru/openforum/vsluhforumID3/68567.html#73
>>
>>---Во всём. Виноват. Майкрософт.
>
>Незнаю причем тут микрософт, нужно быть сильно недалеким чтобы в чем-то его
>винить. Проблема решилась добавлением кавычек.
>
>my @dirlist=`dir /AD /S /B \"$dir\"`;
>
>Вот так. Микрософт как всегда оказался не причем )

ну ты просто утер мне нос!
вот только интересно, проблему тарабарщины кавычки тоже решают?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру