Skip to content

Latest commit

 

History

History
37 lines (29 loc) · 871 Bytes

README.md

File metadata and controls

37 lines (29 loc) · 871 Bytes

Type::Params::Validation

Type::Params Validation for all named params

  • Because Type::Params is cool and has a simple syntax.
  • Because Type::Tiny is a cool type-system.
  • Because Type::Params does not tell what else might have gone wrong

SYNOPSIS

use v5.10;
use strict;
use warnings;
 
use Type::Params::Validatoin qw( compile_named );
use Types::Standard qw( slurpy Str ArrayRef Num );
   
sub deposit_monies
{
   state $check = compile_named(
      sort_code      => Str,
      account_number => Str,
      monies         => ArrayRef[Num],
   );
   my $args = $check->(@_);
    
   my $account = Local::BankAccount->new($args->{sort_code}, $args->{account_number});
   $account->deposit($_) for @{$args->{monies}};
}
 
deposit_monies(
   sort_code      => "12-34-56",
   account_number => "11223344",
   monies         => [ 1.2, 3, 99.99 ],
);