Types::...::String(3)

πŸŽ€ Types::Common::String πŸ’…

okay bestie so this is the page for Types::Common::String, straight out of the user-contributed Perl documentation (you'll see it filed under Types::...::String(3) β€” the name just gets folded all cute like that, don't worry about it). she's a whole vibe AND she's useful. let's get into it ✨


🌸 NAME 🌸

Types::Common::String β€” a drop-in replacement for MooseX::Types::Common::String. literally swap it in and go, no cap 🫢


⭐ STATUS ⭐

This module is covered by the Type-Tiny stability policy. so like, the maintainers have made promises about it and they're keeping them πŸ’–


πŸ¦‹ DESCRIPTION πŸ¦‹

A drop-in replacement for MooseX::Types::Common::String. that's the whole pitch, and honestly? iconic.

✨ Types ✨

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

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

but wait, there's MORE 🎁 this module also defines some extra type constraints that you will NOT find in MooseX::Types::Common::String:

  • StrLength β€” a type constraint for a string that's between min and max characters long. the signature looks like this:
StrLength[`min, `max]

for example:

StrLength[4, 20]

it's sometimes useful to combine this with another type constraint in an intersection. chef's kiss 🀌

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

the max length can be omitted.

StrLength[10]   # at least 10 characters
Lengths are inclusive, bestie. both ends count. πŸŽ€
  • DelimitedStr β€” a parameterized constraint for delimited strings, like comma-delimited ones. the signature:
DelimitedStr[`delimiter, `type, `min, `max, `ws]

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

the ws parameter allows optional whitespace surrounding the delimiters, as well as optional leading and trailing whitespace. so it's chill like that.

the type, min, max, and ws parameters 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). lowkey elegant πŸ’…


😭 BUGS 😭

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.


πŸ‘‘ AUTHOR πŸ‘‘

Toby Inkster <tobyink@cpan.org>. thank you for your service king 🫑


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


πŸ’€ DISCLAIMER OF WARRANTIES πŸ’€

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.

read that one again, fr fr. no promises, no refunds, no drama πŸ“


and that's the whole page, bestie! this was generated for perl v5.42.0 and dated 2026-01-17, so you know it's fresh πŸ’– go forth and validate your strings βœ¨πŸŒˆπŸ¦‹

πŸ“¦ where this page comes from