Atsushi Kobayashi > Sub-Args > Sub::Args

Download:
Sub-Args-0.08.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
View/Report Bugs
Module Version: 0.08   Source  

NAME ^

Sub::Args - Simple check/get arguments.

SYNOPSIS ^

  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',
      }
  );

or

  package Your::Class;
  use Sub::Args;
  sub foo {
      my $args = args(
          {
              name => 1,
              age  => 0,
          }, @_
      );
      $args;
  }
  # got +{name => nekokak, age => undef}
  foo(
      {
          name => 'nekokak',
      }
  );

DESCRIPTION ^

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.

FUNCTIONS ^

my $hash_ref = args(\%rule, [@_]);

Check parameter and return read only hash-ref.

my @vals = args_pos(@rule);

Check parameter and return array or array-ref.

AUTHOR ^

Atsushi Kobayashi <nekokak _at_ gmail _dot_ com>

CONTRIBUTORS ^

hirobanex : Hiroyuki Akabane

SEE ALSO ^

Params::Validate

Smart::Args

Data::Validator

LICENSE ^

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

syntax highlighting: