Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Re: Skipping directories using File::Find

by inman (Curate)
on Jan 25, 2006 at 10:52 UTC ( #525403=note: print w/replies, xml ) Need Help??

in reply to Skipping directories using File::Find

Look at the preprocess option in the documentation.

The code can be used to sort the file/directory names alphabetically, numerically, or to filter out directory entries based on their name alone.

You can pre-process a directory and remove entries for backup directories based on a regex or lookup. File::Find will only follow and process the list of files/directories that are returned by this method.

The example below prints out all files and directories that start with A-D.

#! /usr/bin/perl use strict; use warnings; use File::Find; find ({wanted => \&wanted, preprocess=> \&preproc, no_chdir=>1}, @ARGV +); sub wanted { print "wanted $_\n" } sub preproc { # print "Pre processing $_\n" foreach (@_); return grep {/^[A-Da-d]/}@_; }

Replies are listed 'Best First'.
Re^2: Skipping directories using File::Find
by pKai (Priest) on Jan 25, 2006 at 14:34 UTC
    This approach also has the advantage, that it works with bydepth, while prune does not.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (6)
As of 2019-07-17 16:22 GMT
Find Nodes?
    Voting Booth?

    No recent polls found