File::CheckTree(3Perl Programmers Reference GuFile::CheckTree(3p)NAME
validate - run many filetest checks on a tree
SYNOPSIS
use File::CheckTree;
$num_warnings = validate( q{
/vmunix -e || die
/boot -e || die
/bin cd
csh -ex
csh !-ug
sh -ex
sh !-ug
/usr -d || warn "What happened to $file?\n"
});
DESCRIPTION
The validate() routine takes a single multiline string con-
sisting of directives, each containing a filename plus a
file test to try on it. (The file test may also be a "cd",
causing subsequent relative filenames to be interpreted
relative to that directory.) After the file test you may
put "|| die" to make it a fatal error if the file test
fails. The default is "|| warn". The file test may option-
ally have a "!' prepended to test for the opposite condi-
tion. If you do a cd and then list some relative filenames,
you may want to indent them slightly for readability. If you
supply your own die() or warn() message, you can use $file
to interpolate the filename.
Filetests may be bunched: "-rwx" tests for all of "-r",
"-w", and "-x". Only the first failed test of the bunch will
produce a warning.
The routine returns the number of warnings issued.
AUTHORFile::CheckTree was derived from lib/validate.pl which was
written by Larry Wall. Revised by Paul Grassie
<grassie@perl.com> in 2002.
HISTORYFile::CheckTree used to not display fatal error messages. It
used to count only those warnings produced by a generic "||
warn" (and not those in which the user supplied the mes-
sage). In addition, the validate() routine would leave the
user program in whatever directory was last entered through
the use of "cd" directives. These bugs were fixed during the
development of perl 5.8. The first fixed version of
File::CheckTree was 4.2.
perl v5.8.8 2005-02-05 1