Types::Common::String(3) User Contributed Perl Documentation Types::Common::String(3)

Types::Common::String - drop-in replacement for MooseX::Types::Common::String

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

A drop-in replacement for MooseX::Types::Common::String.

The following types are similar to those described in MooseX::Types::Common::String.

  • SimpleStr
  • NonEmptySimpleStr
  • NumericCode
  • LowerCaseSimpleStr
  • UpperCaseSimpleStr
  • Password
  • StrongPassword
  • NonEmptyStr
  • LowerCaseStr
  • UpperCaseStr

This module also defines some extra type constraints not found in MooseX::Types::Common::String.

  • StrLength[`min, `max]

    Type constraint for a string between min and max characters long. For example:

    StrLength[4, 20]
    

    It is sometimes useful to combine this with another type constraint in an intersection.

    (LowerCaseStr) & (StrLength[4, 20])
    

    The max length can be omitted.

    StrLength[10]   # at least 10 characters
    

    Lengths are inclusive.

  • DelimitedStr[`delimiter, `type, `min, `max, `ws]

    Parameterized constraint for delimited strings, such as comma-delimited.

    DelimitedStr[",", Int, 1, 3] will allow between 1 and 3 integers, separated by commas. So "1,42,-999" will pass the type constraint, but "Hello,45" will fail.

    The ws parameter allows optional whitespace surrounding the delimiters, as well as optional leading and trailing whitespace.

    The type, min, max, and ws paramaters are optional.

    Parameterized DelimitedStr type constraints will automatically have a coercion from ArrayRef[`type] which uses "join" to join by the delimiter. The plain unparameterized type constraint DelimitedStr has a coercion from ArrayRef[Str] which joins the strings using the list separator $" (which is a space by default).

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

Types::Standard, Types::Common::Numeric.

MooseX::Types::Common, MooseX::Types::Common::Numeric, MooseX::Types::Common::String.

Toby Inkster <tobyink@cpan.org>.

This software is copyright (c) 2013-2014, 2017-2023 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.

2024-03-13 perl v5.38.2