table of contents
Declare::Constraints::Simple::Library::Array(3pm) | User Contributed Perl Documentation | Declare::Constraints::Simple::Library::Array(3pm) |
NAME¶
Declare::Constraints::Simple::Library::Array - Array Constraints
SYNOPSIS¶
# accept a list of pairs my $pairs_validation = IsArrayRef( HasArraySize(2,2) ); # integer => object pairs my $pairs = And( OnEvenElements(IsInt), OnOddElements(IsObject) ); # a three element array my $tri = And( HasArraySize(3,3), OnArrayElements(0, IsInt, 1, IsDefined, 2, IsClass) );
DESCRIPTION¶
This module contains all constraints that can be applied to array references.
CONSTRAINTS¶
HasArraySize([$min, [$max]])¶
With $min defaulting to 1. So a specification of
my $profile = HasArraySize;
checks for at least one value. To force an exact size of the array, specify the same values for both:
my $profile = HasArraySize(3, 3);
OnArrayElements($key => $constraint, $key => $constraint, ...)¶
Applies the the $constraints to the corresponding $keys if they are present. For required keys see "HasArraySize".
OnEvenElements($constraint)¶
Runs the constraint on all even elements of an array. See also "OnOddElements".
OnOddElements($constraint)¶
Runs the constraint on all odd elements of an array. See also "OnEvenElements".
SEE ALSO¶
Declare::Constraints::Simple, Declare::Constraints::Simple::Library
AUTHOR¶
Robert 'phaylon' Sedlacek "<phaylon@dunkelheit.at>"
LICENSE AND COPYRIGHT¶
This module is free software, you can redistribute it and/or modify it under the same terms as perl itself.
2021-01-09 | perl v5.32.0 |