Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Help on Perl

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Help on Perl
Имя
Сообщение << Старые топики   Новые топики >>
Help on Perl - 2005-01-12 14:38:01   
_Paul

Сообщений: 3
Оценки: 0
Присоединился: 2005-01-12 14:26:39
Доброе время суток, многоуважаемый All!

Взялся за изучение Perl (опустим вопросы типа "зачем?"). И тут же уперся лбом!
Подскажите, плз, как на Перле реализовать аналог рекурсивного ls? Ну имеется в виду, с заходом в поддиректории…

Заранее спасибо!
Post #: 1
Help on Perl - 2005-01-12 16:02:37   
Lex_Voodoo

Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
Смотришь список файлов, если это директория, заходишь туда и смотришь список файлов…
В чём конкретно возникает проблема?
Post #: 2
Help on Perl - 2005-01-12 16:15:24   
_Paul

Сообщений: 3
Оценки: 0
Присоединился: 2005-01-12 14:26:39
Сорри за ламерство, но изучать я начал только недавно, поэтому проблема в том, как получить этот список файлов [sm=1.gif]
Чего-нибудь толкового с примерами на счет всяких opendir() я в инете не нашел, а книг нету… Может плохо искал - не спорю.
Post #: 3
Help on Perl - 2005-01-12 16:22:56   
Lex_Voodoo

Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
Ну вот тебе… взял в закромах родины функцию, которая проделывает эту работу на PHP. Надеюсь, это поможет.
Во всяком случае, алгоритм должен быть таким же, только названия функций могут отличаться.
<BR>function saveTree($dir)<BR>{<BR> if($dir != &quot;&quot;) {<BR> chdir($dir);<BR> }<BR> $files = NULL;<BR> global $files_list;<BR> $prefix = NULL;<BR> global $prefix;<BR> $d = @opendir(&quot;.&quot;);<BR> if(!$d) return;<BR> while(($e = readdir($d)) !== FALSE)<BR> {<BR> if($e == '.' || $e == '..') continue;<BR> if(!@is_dir($e)) {<BR> $files_list[] .= $prefix . &quot;$e&quot;;<BR> }<BR> else {<BR> if(!chdir($e)) {<BR> continue;<BR> }<BR> $prefix .= &quot;$e/&quot;;<BR> saveTree(&quot;&quot;);<BR> chdir(&quot;..&quot;);<BR> $prefix = substr($prefix, 0, strlen($prefix) - strlen($e)-1);<BR> }<BR> }<BR> closedir($d);<BR> return $files_list;<BR>}<BR>
Post #: 4
Help on Perl - 2005-01-12 16:41:18   
_Paul

Сообщений: 3
Оценки: 0
Присоединился: 2005-01-12 14:26:39
О! Самое то! Спасибо!
Post #: 5
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Help on Perl







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.