| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Работа с файлами и каталогами |
| Автор: Jeka from Doneck 13.10.2008, 17:54 |
| В ходе изучения языка в теме по работе с файлами и папками столкнулся со следующей задачей. Их несколько но это наиболее простая. Пройти по дереву каталогов, начиная с текущего и вывести весь список файлов, содержащих внутри строки файла, у которых в пятом поле будет три буквы "а", не обязательно подряд, и имеющих шаблон имени файла, начинающегося с точки и содержащего внутри символы в заданной последовательности "set" и старше одного месяца с правами только на чтение Буду очень признателен если поможете в изучении и решении данного примера. Думаю следующие за ней задания по примеру выполнить. |
| Автор: gcc 13.10.2008, 18:01 |
| сказали бы $ uname -r а кто такое задал? |
| Автор: Jeka from Doneck 13.10.2008, 18:12 |
| Никто не задал, я по сборнику по Perl беру это. Под редакцией Костина В.В. Вроде . Щас вот после работы приехал, есть свободный вечер и думал поразбираться. И попросил помочь с решением написанной мною задачи. |
| Автор: arto 13.10.2008, 18:14 |
| perldoc perlfunc nа предмет opendir, readdir, closedir, stat |
| Автор: Jeka from Doneck 13.10.2008, 18:21 |
| arto Уважаемый, мне такой совет может мой 4 летний ребенок дать (в справке посмотреть), я не для этого условие написал, выше уже написал что необходимо. Те кто хорошо разбирается буду очень признателен в помощи. |
| Автор: gcc 13.10.2008, 18:21 | ||
| про отрытие каталогов и файлов есть в книге "perl за 24 часа" про массивы там тоже есть вот скрипт загрузки файлов из каталога на сервер
|
| Автор: kavkaz 13.10.2008, 21:32 | ||||||
| Уважаемый Jeka from Doneck, вы сами сказали что изучаете язык, стало быть вам не нужно готовое решение, давайте вы подробнее опишите проблему связанную с решением задачи а мы направим в нужное русло. 1.
2.
тут я немного не понимаю что значит "пятое поле"... 3.
предполагаю что пункт2 и пункт3 надо поменять местами... так вот теперь по пунктам, где вы испытываете сложности? просто если вы не знаете как считать в массив список содержащихся файлов, то так и напишите. Наверняка какие то моменты из задачи вы и сами способны решить |
| Автор: Jeka from Doneck 13.10.2008, 22:14 | ||
ВОт код программы
тут не совсем то задание, почти как требуется сделал. помогите доделать |
| Автор: ginnie 13.10.2008, 22:59 | ||
| Jeka from Doneck, мы тут все хамы ужасные, очень любим над новичками поиздеваться, пока они еще опыта достаточно не набрались и сдачи дать не могут Боюсь даже предположить, каким словом Вы меня назовете в ответ на предложение добавить в начало программы
это предложение тоже из секции "советы четырехлетних". |
| Автор: kavkaz 13.10.2008, 23:10 |
| Jeka from Doneck, нет возможности да и желания (именно в такой последовательности) запускать и проверять программу... вы конретно скажите где затык то? и наберитесь терпения |
| Автор: ginnie 13.10.2008, 23:26 | ||||
| P.S. вопросы на засыпку: как по-вашему работает фрагмент
у Вас так и задумано, что $string не инициализируется внутри вызова scan_dir() и сохраняет свое значение между вызовами? зачем в рег. выражении
модификатор i ? и самое главное: как мы можем помочь доделать, если Вы не написали, что у Вас не получается (т.е. что работает не так, как должно). |
| Автор: ginnie 14.10.2008, 11:32 |
| amg, может еще добавить -f, чтобы не обрабатывать директории? |
| Автор: amg 14.10.2008, 13:40 |
| Это следовало бы сделать. А еще -- поставить условие ! -w на первое место, как самое редкое в "обычной жизни". |