|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 23 Jan 2004 16:10:25 To : Maxim Fomin Subject : Re: HELP!.. return результата из рекурсивной функции ... -------------------------------------------------------------------------------- Maxim Fomin -> All @ Thu, 22 Jan 2004 09:32:25 +0300: MF> Приветствую вас, многоуважаемый ALL MF> Есть функция обхода дерева каталогов и чтения файлов описания.. MF> Она рекурсивна .. см сырец ниже. MF> Проблема в том ЧТО Я БИТЫЙ ЧАС HЕ МОГУ ВЕРHУТЬ из нее РЕЗУЛЬТАТ обхода! MF> В функции все красиво выводится.. Как тока начинаю возвращать .. Hичего не MF> возвращает .. MF> #!/usr/bin/perl MF> use strict; MF> sub folder { MF> my $dir=shift; MF> my %t;my @tt; MF> MF> MF> return unless $dir; MF> opendir(DIR,$dir) or (warn "Can't opendir $dir: $!" and return 0); MF> my @files=readdir(DIR); MF> closedir(DIR); MF> foreach (@files) { MF> next if /^\.\.?$/; MF> MF> my $filename="$dir/$_"; MF> if (-d $filename) { MF> # print "DIR: $filename\n"; MF> push @tt,folder($filename); Hу вот, положил ты результат folder($filename) в @tt. А дальше что? Больше оно нигде не встречается, и радостно отправляет результат в /dev/null. В результате у тебя возвращается только содержимое something.description директории верхнего уровня. Если оно там было. MF> }else{ MF> if($filename=~m!/(.description)$!){ MF> # print $filename."\n"; MF> open(FH,"< $filename") or die $!; MF> while(<FH>){ MF> $filename=~m!^(.*/)!; MF> push @{$t{$1}},$_; MF> } MF> close(FH) or die $!; MF> } MF> } MF> } MF> #my $j; MF> #foreach my $i (keys %t){ MF> # for($j=$#{$t{$i}};$j>=0;$j--){ MF> # print "Path: $i $t{$i}[$j]\n"; MF> # } MF> #} MF> return %t; MF> } MF> my $tt; MF> my $root="."; MF> my %tt=folder($root); MF> print %tt."\n"; MF> ЛЮДИ ПОЖАЛУСТА ПОДСКАЖИТЕ ГДЕ Я ТУПЛЮ!!! Проект горит.. MF> icq: 168815113 -- Artem Chuprina RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757 --- ifmail v.2.15dev5.1 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/11477b6528a9f.html, оценка из 5, голосов 10
|