Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: Recursion

by TheoPetersen (Priest)
on Aug 03, 2001 at 02:35 UTC ( [id://101813]=note: print w/replies, xml ) Need Help??


in reply to Recursion

You could also implement this with an array, instead of a recursive sub:
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); } }
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.

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
    You know, I must have followed that Link for More Info at least twenty times and i never saw anything new...
      Ah, but each time you saw it, you had the knowledge gained from all the previous times and hence an ever deeper understanding.

        p

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://101813]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chilling in the Monastery: (2)
As of 2024-04-26 00:47 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found