Params::Validate::Dependencies extends Params::Validate's validate() function to support an arbitrary number of callbacks which are not associated with any one parameter. All of those callbacks are run after Params::Validate's normal validate() function. If any of them return false, then validate() will die as normal.

All of the *_of functions are exported by default in addition to those exported by default by Params::Validate. They are also available with the tag ':_of' in case you want to use them without Params::Validate. In that case you would load the module thus:

use Params::Validate::Dependencies qw(:_of);

All of the *_of functions take a list of scalars and code-refs and return a code-ref (which is a closure over the list originally passed to the function) suitable for use in validate() or in another *_of function. All code-refs should take as their only argument a hashref of parameters to check, returning true if the parameters are good and false otherwise.

Any incompatibility with Params::Validate will be considered to be a bug, with the exception of minor differences in error messages.

Bug reports should contain enough detail that I can replicate the problem and write a test. The best bug reports have those details in the form of a .t file. If you also include a patch I will love you for ever.

This software is free-as-in-speech software, and may be used, distributed, and modified under the terms of either the GNU General Public Licence version 2 or the Artistic Licence. It's up to you which one you use. The full text of the licences can be found in the files GPL2.txt and ARTISTIC.txt, respectively.