ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cvsroot/staticperl/perl/lib/finddepth.pl
Revision: 1.1
Committed: Thu Jun 30 14:27:09 2005 UTC (21 years, 3 months ago) by root
Content type: text/plain
Branch: MAIN
CVS Tags: PERL-5-8-7, HEAD
Branch point for: PERL
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.1 # Usage:
2     # require "finddepth.pl";
3     #
4     # &finddepth('/foo','/bar');
5     #
6     # sub wanted { ... }
7     # where wanted does whatever you want. $dir contains the
8     # current directory name, and $_ the current filename within
9     # that directory. $name contains "$dir/$_". You are cd'ed
10     # to $dir when the function is called. The function may
11     # set $prune to prune the tree.
12     #
13     # This library is primarily for find2perl, which, when fed
14     #
15     # find2perl / -name .nfs\* -mtime +7 -exec rm -f {} \; -o -fstype nfs -prune
16     #
17     # spits out something like this
18     #
19     # sub wanted {
20     # /^\.nfs.*$/ &&
21     # (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) &&
22     # int(-M _) > 7 &&
23     # unlink($_)
24     # ||
25     # ($nlink || (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_))) &&
26     # $dev < 0 &&
27     # ($prune = 1);
28     # }
29    
30    
31     use File::Find ();
32    
33     *name = *File::Find::name;
34     *prune = *File::Find::prune;
35     *dir = *File::Find::dir;
36     *topdir = *File::Find::topdir;
37     *topdev = *File::Find::topdev;
38     *topino = *File::Find::topino;
39     *topmode = *File::Find::topmode;
40     *topnlink = *File::Find::topnlink;
41    
42     sub finddepth {
43     &File::Find::finddepth(\&wanted, @_);
44     }
45    
46     1;