Sub::Args - Simple check/get arguments.
package Your::Class; use Sub::Args; sub foo { my $class = shift; my $args = args( { name => 1, age => 0, } ); $args; } sub bar { my $class = shift; my $args = args( { name => 1, age => 0, } ); $args->{email}; # die: email is not defined hash key. } sub baz { my $class = shift; my ($var1, $var2) = args_pos(1,0); } # got +{name => nekokak, age => undef} Your::Class->foo( { name => 'nekokak', } ); # got +{name => 'nekokak', age => 32} Your::Class->foo( { name => 'nekokak', age => 32, } ); # die: nick parameter don't defined for args method. Your::Class->foo( { name => 'nekokak', age => 32, nick => 'inukaku', } ); # die: name arguments must required. Your::Class->foo( { age => 32, } ); Your::Class->baz('val1');
or
package Your::Class; use Sub::Args; sub foo { my $class = shift; my $args = args( { name => 1, age => 0, }, @_ ); $args; } # got +{name => nekokak} Your::Class->foo( { name => 'nekokak', } );
package Your::Class; use Sub::Args; sub foo { my $args = args( { name => 1, age => 0, }, @_ ); $args; } # got +{name => nekokak, age => undef} foo( { name => 'nekokak', } );
This module makes your module more readable, and writable =p
and restrict a argument's hash. =(
When it accesses the key that doesn't exist, the exception is generated.
Check parameter and return read only hash-ref.
Check parameter and return array or array-ref.
Atsushi Kobayashi <nekokak _at_ gmail _dot_ com>
hirobanex : Hiroyuki Akabane
Params::Validate
Smart::Args
Data::Validator
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Sub::Args, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Sub::Args
CPAN shell
perl -MCPAN -e shell install Sub::Args
For more information on module installation, please visit the detailed CPAN module installation guide.