Params::Validate::Micro - Validate parameters concisely
Version 0.032
use Params::Validate::Micro qw(:all); use Params::Validate::Micro qw(micro_validate micro_translate);
Params::Validate::Micro allows you to concisely represent a list of arguments, their types, and whether or not they are required.
Nothing is exported by default. Use :all or the specific function name you want.
:all
Micro argument strings are made up of lists of parameter names. Each name may have an optional sigil (one of $@%), which translate directly to the Params::Validate constrations of SCALAR | OBJECT, ARRAYREF, and HASHREF, respectively.
$@%
There may be one semicolon (;) in your argument string. If present, any parameters listed after the semicolon are marked as optional.
;
Examples:
$text
%opt; $verbose
@addrs @lines message
You may also have an empty argument string. This indicates that you want no parameters at all.
micro_translate
my %spec = micro_translate($string, $extra);
Turns $string into a Params::Validate spec as described in "FORMAT", then merges the resultant spec and the optional $extra hashref.
$string
$extra
This returns a list, which just happens to be a set of key => value pairs. This matters because it means that if you wanted to you could treat it as an array for long enough to figure out what order the parameters were specified in. You could use this to do your own optional positional validation.
micro_validate
my $arg = micro_validate(\%arg, $string, $extra); my $arg = micro_validate(\@args, $string, $extra);
Use micro_translate with $string and $extra, then passes the whole thing to Params::Validate.
Named parameters should be passed in as a hashref, and positional parameters as an arrayref. Positional parameters will be associated with names in the order specified in $string. For example:
micro_validate({ a => 1 }, q{$a; $b}); micro_validate([ 1 ], q{$a; $b});
Both will return this:
{ a => 1 }
When passing positional parameters, micro_validate will die if there are either too many for the spec or not enough to fill all non-optional parameters.
Returns a hashref of the validated arguments.
Params::Validate
Hans Dieter Pearcey, <hdp@cpan.org>
<hdp@cpan.org>
Please report any bugs or feature requests to bug-params-validate-micro@rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Params-Validate-Micro. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
bug-params-validate-micro@rt.cpan.org
Copyright 2005 Hans Dieter Pearcey, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Params::Validate::Micro, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Params::Validate::Micro
CPAN shell
perl -MCPAN -e shell install Params::Validate::Micro
For more information on module installation, please visit the detailed CPAN module installation guide.