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.

See Also

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

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