|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Rick Atreides 2:5020/400 27 Feb 2002 14:19:29 To : vilfred Subject : Re: дерево каталогов на вложенных хешах... --------------------------------------------------------------------------------
> Создавать бесчисленные вложенные рефы. Вот
> этого не шарю как сделать.
Это-же класика жанра
$root = GetDir('.');
sub GetDir {
my $Path = shift;
my %DirHash;
my @DirContent;
opendir(DIR, "$Path");
@DirContent = grep { !/^\.{1,2}$/} readdir(DIR);
closedir(DIR);
foreach $file (@DirContent) {
print "$Path/$file\n";
if (-d $file) { $DirHash{$file} = GetDir("$Path/$file"); }
else { $DirHash{$file} = -1; }
}
return \%DirHash;
}
И потом соответсвенно парсишь потом если хеш = -1 (или проверяй на наличие
файла), то файло, а иначе идём глубже.
Типа
$a = \%{$root{'/usr'}};
$a = \%{$a{'/local'}};
$a = \%{$a{'/etc'}};
etc :-))
Рабочий пример взят из скрипта посторения индексной базы для поиска.
Ромик.
--
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5
* Origin: Talk.Mail.Ru (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/648824009c15.html, оценка из 5, голосов 10
|