ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cvsroot/staticperl/perl/lib/find.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 "find.pl";
3     #
4     # &find('/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     # Set the variable $dont_use_nlink if you're using AFS, since AFS cheats.
31    
32     use File::Find ();
33    
34     *name = *File::Find::name;
35     *prune = *File::Find::prune;
36     *dir = *File::Find::dir;
37     *topdir = *File::Find::topdir;
38     *topdev = *File::Find::topdev;
39     *topino = *File::Find::topino;
40     *topmode = *File::Find::topmode;
41     *topnlink = *File::Find::topnlink;
42    
43     sub find {
44     &File::Find::find(\&wanted, @_);
45     }
46    
47     1;