Ricardo SIGNES > File-CheckTree-4.42 > File::CheckTree

Download:
File-CheckTree-4.42.tar.gz

Dependencies

Annotate this POD

Website

Related Modules

File::stat
File::Spec
Net::Ping
Pod::Parser
Getopt::Long
Term::Complete
Tie::Hash
Thread::Specific
File::Copy
File::Compare
more...
By perlmonks.org
View/Report Bugs
Module Version: 4.42   Source  

NAME ^

File::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.

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.

syntax highlighting: