| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Тема в фак |
| Автор: Secandr 20.7.2004, 09:13 | ||||
подскажите, что сделать, что бы работала рекурсия в перле?
Добавлено @ 09:14 Вот код без рекурсии, работает вполне великолепно:
Добавлено @ 09:15 сразу убъю двух зайцев - напишу про рекурсию и про работу с деррикториями. |
| Автор: dimes 20.7.2004, 09:30 |
| my $h; opendir ($h,"dir"); ........ либо local *h; opendir (h,"dir"); ....... |
| Автор: Secandr 20.7.2004, 09:33 |
| dimes спасибо. |
| Автор: y0sh1 26.8.2004, 10:55 | ||
| Проблема: надо написать скрипт на перле, который: - в данной директории показывает список папок в ней (только в ней - во влженных не надо) и их размер (соответственно с подпапками считать); - показывал бы тоже самое, но только размер файлов (во всей папке с подпапками) считал бы не для всех файлов, а только по заданной маски - например выдать размер всех файлов *.doc каждой подпапки в данной папке. Сам в перле начинающий... надыбал скрипт на форуме, видоизменил (пока только для 1-го случая) - но что-то не пашет: Код:
типа пишет : "Global symbol "$count_d" requires explicit package name" для всех переменных - что не так!? Наск я понимаю переменную не определил!? Заранее спасибо, если кто поможет.... ну а если посоветуют ещё и конструкцию для 2-го варианта (чтобы размер файлов по маске считал0 - то будет вообще счастье! Зараенее спасибо! |
| Автор: korob2001 26.8.2004, 11:32 | ||
В одном топике, один вопрос. Это правила форума. Попробуй этот код.
Удачи. |
| Автор: y0sh1 26.8.2004, 12:48 | ||||||
Вобщем после дня эксперементов наваял я довольно простенький (и наверно всё же кривоватый) скрипт:
Он проходит по заданной папке и выводит объём всех подпапок + отдельно объём файлов в корне указаной папки... Теперь решил прикрутить помимо подсчёта объёма всей подпапки ещё и объём файлов в ней по маске - например *.mp3 - по предложеной на форуме кнструкции:
Соответственно в скрипт написанный выше добавил:
Но что-то не катит... просто записывает в $dir_size_mp3 какое-то число... !?!?!? В чём может быть дело!? |
| Автор: ElectricalStorm 29.8.2004, 18:12 | ||
читаем CookBook |
| Автор: y0sh1 30.8.2004, 12:39 | ||||
Как при рекурсивном просмотре директорий более наглядно сделать "индикатор хода работы" так сказать - ну что бы видно было что процес идёт... в своём "сканере" пока сделал так:
те типа выводится на консоль каждая 10 папка\файл (все выводить слишком много)... причём на новой строке, думал прикрутить на одной:
но в таком варианте что-то совсем ничего не вырисовывалось... Может у кого есть более удачные варианты реализации !? |
| Автор: Secandr 30.8.2004, 12:45 | ||
|
| Автор: y0sh1 30.8.2004, 13:22 | ||
| Secandr прости не совсем понял... \r - это я хотел выделить... код конечно:
|
| Автор: Secandr 30.8.2004, 13:31 |
| вообще лучше писать что-то типа \r\n или <br> если в хтмл. А вообще один топик - один вопрос |
| Автор: y0sh1 30.8.2004, 13:37 | ||||
Secandr
типа это выведет список всех поддир и файлов в одной строке!?
те если вопрос в русле уже созданой темы, то всё равно надо открывать новую!? |
| Автор: Secandr 30.8.2004, 13:46 |
| тема была не про то как читать дирректорию, а про то как превратить глобальный указатель в локальный! Добавлено @ 13:47 P.S. Открывай новый топик и подробно опиши проблему. |
| Автор: y0sh1 30.8.2004, 14:10 | ||
| Secandr сорри если не туда запости, но искал по описанию темы, а там сказано чётко:
|