Types::Standard::CycleTuple(3) User Contributed Perl Documentation Types::Standard::CycleTuple(3)

Types::Standard::CycleTuple - exporter utility for the CycleTuple type constraint

use Types::Standard -types;

# Normal way to validate a list of pairs of integers.
#
CycleTuple->of( Int, Int )->assert_valid( [ 7, 49, 8, 64 ] );

use Types::Standard::CycleTuple IntPairs => { of => [ Int, Int ] },

# Exported shortcut
#
assert_IntPairs [ 7, 49, 8, 64 ];

This module is not covered by the Type-Tiny stability policy.

This is mostly internal code, but can also act as an exporter utility.

Types::Standard::CycleTuple can be used experimentally as an exporter.

use Types::Standard 'Int';
use Types::Standard::CycleTuple IntPairs => { of => [ Int, Int ] };

This will export the following functions into your namespace:

"IntPairs"

Multiple types can be exported at once:

use Types::Standard -types;
use Types::Standard::CycleTuple (
  IntIntPairs   => { of => [ Int, Int ] },
  StrIntPairs   => { of => [ Str, Int ] },
);

assert_StrIntPairs [ one => 1, two => 2 ];   # should not die

It's possible to further constrain the cycletuple using "where":

use Types::Standard::CycleTuple MyThing => { of => [ ... ], where => sub { ... } };

Please report any bugs to https://github.com/tobyink/p5-type-tiny/issues.

Types::Standard.

Toby Inkster <tobyink@cpan.org>.

This software is copyright (c) 2013-2025 by Toby Inkster.

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

THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.

2025-07-14 perl v5.42.0