The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
This is Perl module Data::Validator.

SYNOPSIS

    use 5.10.0;
    use Data::Validator;

    sub get {
        state $rule = Data::Validator->new(
            uri        => { isa => 'Str', xor => [qw(schema host path_query)] },

            schema     => { isa => 'Str', default => 'http' },
            host       => { isa => 'Str' },
            path_query => { isa => 'Str', default => '/' },

            method     => { isa => 'Str', default => 'GET' },
        );

        my $args = $rule->validate(@_);
        # ...
    }
    get( uri => 'http://example.com/' );

INSTALLATION

Install cpanm (App::cpanminus) and then run the following command to install
Data::Validator:

    $ cpanm Data::Validator

If you get an archive of this distribution, unpack it and build it
as per the usual:

    $ tar xzf Data-Validator-$version.tar.gz
    $ cd Data-Validator-$version
    $ perl Makefile.PL
    $ make && make test

Then install it:

    $ make install

DOCUMENTATION

Data::Validator documentation is available as in POD. So you can do:

    $ perldoc Data::Validator

to read the documentation online with your favorite pager.

LICENSE AND COPYRIGHT

Copyright (c) 2010, Fuji, Goro (gfx). All rights reserved.

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.