This is my patch patch.1g for perl5.001.
[p5sagit/p5-mst-13.2.git] / lib / File / CheckTree.pm
index a440bda..a39308b 100644 (file)
@@ -2,6 +2,45 @@ package File::CheckTree;
 require 5.000;
 require Exporter;
 
+=head1 NAME
+
+validate - run many filetest checks on a tree
+
+=head1 SYNOPSIS
+
+    use File::CheckTree;
+
+    $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"
+    });
+
+=head1 DESCRIPTION
+
+The validate() routine takes a single multiline string consisting of
+lines 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 C<|| die> to make it a fatal error if the file test fails.
+The default is C<|| 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 C<-r>, C<-w>, and C<-x>.
+Only the first failed test of the bunch will produce a warning.
+
+The routine returns the number of warnings issued.
+
+=cut
+
 @ISA = qw(Exporter);
 @EXPORT = qw(validate);