<P>The <CODE>validate()</CODE> 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 <CODE>|| die</CODE> to make it a fatal error if the file test fails.
The default is <CODE>|| warn</CODE>. 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 <A HREF="../../lib/Pod/perlfunc.html#item_die"><CODE>die()</CODE></A> or <A HREF="../../lib/Pod/perlfunc.html#item_warn"><CODE>warn()</CODE></A> message, you can use $file to
interpolate the filename.</P>
<P>Filetests may be bunched: ``-rwx'' tests for all of <CODE>-r</CODE>, <CODE>-w</CODE>, and <CODE>-x</CODE>.
Only the first failed test of the bunch will produce a warning.</P>
<P>The routine returns the number of warnings issued.</P>