in reply to File::Find on huge, dynamic filesystems?

There is always a risk that when you take a snap-shot of an active data, that by the time you get around to using some of it, it could be out of date.

A couple of possibilities to work around this

If your not concerned with dealing with new stuff that has appeared since you snapshot was taken, then use -e to verify that files/dirs still exist before you take any action on or as a result of the presence of a file reported by File::Find.

If your running on a Windows system, you can register your interest in the (sub)tree that you have run File::Find on with Win32::ChangeNotify and periodically check for and record any changes that occurred since you did your File::Find. This complicates your code somewhat as every time you process a file, you would need to check your changes mechanism (a hash seems a possible choice) to see if the file in question has had any changes recorded against it.

There may be a similar mechanism in *nix, but I am not aware of it.

Without knowing quite what use you are making of the information returned by File::Find, its difficult to make any further suggestions.


Okay you lot, get your wings on the left, halos on the right. It's one size fits all, and "No!", you can't have a different color.
Pick up your cloud down the end and "Yes" if you get allocated a grey one they are a bit damp under foot, but someone has to get them.
Get used to the wings fast cos its an 8 hour day...unless the Govenor calls for a cyclone or hurricane, in which case 16 hour shifts are mandatory.
Just be grateful that you arrived just as the tornado season finished. Them buggers are real work.