File::CheckTree(3pm) Perl Programmers Reference Guide File::CheckTree(3pm)NAMEFile::CheckTree - 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 consisting 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 optionally
have a "!' prepended to test for the opposite condition. 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 message). 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.18.2 2014-01-06 File::CheckTree(3pm)