in reply to Recursion
Untested but perhaps you'll like the approach and work things out. Remember to build full paths each time (that's what the map would be doing if this were working code). When you finally run out of @todo elements you've searched everything.opendir(ROOT_DIR,"/")|| die "Error:$!\n"; my @todo = grep {$_ ne '..'} readdir(ROOT_DIR); closedir(ROOT_DIR); while (my $what = shift @todo) { if (-f $what){ log_sbit($what) if (-u $what || -g $what); } elsif (-d $what && opendir(SUB_DIR, $what){ push @todo, map {"$what/$_"} grep {$_ ne '..'} readdir(SUB_DIR); closedir(SUB_DIR); } }
And I can't resist: for more information on recursion, see Recursion.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Re: Recursion
by dataDrone (Acolyte) on Aug 03, 2001 at 05:39 UTC | |
by petral (Curate) on Aug 03, 2001 at 10:29 UTC |