Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: A warning about passing mountpoints as arguments to directory recursion programmes

by sundialsvc4 (Monsignor)
on May 16, 2013 at 21:24 UTC ( #1033909=note: print w/ replies, xml ) Need Help??


in reply to A warning about passing mountpoints as arguments to directory recursion programmes

One very painful lesson-learned that I have gathered from a great many programming / operating-system environments is that, especially if you intend to alter the filesystem structure, you should:   “iterate first, and act second.”   Any sort of change to the filesystem topology can be very disruptive to a “walker” ... and even-slightly-deep nested directory structures can utterly-bamfoozle many, say... “hidden, operating-system imposed” limits.

What I customarily try to do is to walk through some reasonable subset of the territory that is “downstream of” wherever-it-is that I started, accumulating along the way a list of “the completely-qualified filenames of something that I’ve decided I want to act upon,” and, separately, a list of “(more) places I want to get to soon.”   I completely run-thorough that walk first, then switch gears and act upon the files.   Having completed that task, I switch back to exploring more locations, popping entries off of the “to-do” list and silently ignoring any that are no longer there.

This approach enables the filesystem-walker to traverse over a structure that can be relied-upon not to change (not by my hand, anyway ...), and it generally works quite well.


Comment on Re: A warning about passing mountpoints as arguments to directory recursion programmes

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (17)
As of 2014-09-19 16:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (143 votes), past polls