File::Find man page on BSDi

Man page or keyword search:  
man Server   6284 pages
apropos Keyword Search (all sections)
Output format
BSDi logo
[printable version]



File::Find(3)	 Perl Programmers Reference Guide   File::Find(3)

NAME
       find - traverse a file tree

       finddepth - traverse a directory structure depth-first

SYNOPSIS
	   use File::Find;
	   find(\&wanted, '/foo','/bar');
	   sub wanted { ... }

	   use File::Find;
	   finddepth(\&wanted, '/foo','/bar');
	   sub wanted { ... }

DESCRIPTION
       The first argument to find() is either a hash reference
       describing the operations to be performed for each file, a
       code reference, or a string that contains a subroutine
       name.  If it is a hash reference, then the value for the
       key wanted should be a code reference.  This code
       reference is called the wanted() function below.

       Currently the only other supported key for the above hash
       is bydepth, in presense of which the walk over directories
       is performed depth-first.  Entry point finddepth() is a
       shortcut for specifying { bydepth = 1}> in the first
       argument of find().

       The wanted() function does whatever verifications you
       want.  $File::Find::dir contains the current directory
       name, and $_ the current filename within that directory.
       $File::Find::name contains "$File::Find::dir/$_".  You are
       chdir()'d to $File::Find::dir when the function is called.
       The function may set $File::Find::prune to prune the tree.

       File::Find assumes that you don't alter the $_ variable.
       If you do then make sure you return it to its original
       value before exiting your function.

       This library is useful for the find2perl tool, which when
       fed,

	   find2perl / -name .nfs\* -mtime +7 \
	       -exec rm -f {} \; -o -fstype nfs -prune

       produces something like:

16/Sep/1999	       perl 5.005, patch 03			1

File::Find(3)	 Perl Programmers Reference Guide   File::Find(3)

	   sub wanted {
	       /^\.nfs.*$/ &&
	       (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) &&
	       int(-M _) > 7 &&
	       unlink($_)
	       ||
	       ($nlink || (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_))) &&
	       $dev < 0 &&
	       ($File::Find::prune = 1);
	   }

       Set the variable $File::Find::dont_use_nlink if you're
       using AFS, since AFS cheats.

       finddepth is just like find, except that it does a depth-
       first search.

       Here's another interesting wanted function.  It will find
       all symlinks that don't resolve:

	   sub wanted {
	       -l && !-e && print "bogus link: $File::Find::name\n";
	   }

BUGS
       There is no way to make find or finddepth follow symlinks.

16/Sep/1999	       perl 5.005, patch 03			2

[top]

List of man pages available for BSDi

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net