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 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.
AUTHOR
File::CheckTree was derived from lib/validate.pl which was
written by Larry Wall.
Revised by Paul Grassie <
grassie@perl.com> in 2002.
HISTORY
File::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.
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- AUTHOR
-
- HISTORY
-