File Coverage

blib/lib/find.pl
Criterion Covered Total %
statement 3 4 75.0
branch n/a
condition n/a
subroutine 1 2 50.0
pod n/a
total 4 6 66.6


line stmt bran cond sub pod time code
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 1     1   1023 use File::Find ();
  1         1  
  1         154  
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 0     0     &File::Find::find(\&wanted, @_);
45             }
46              
47             1;