Moose::Meta::TypeConstraint::Enum(3) User Contributed Perl Documentation Moose::Meta::TypeConstraint::Enum(3)

# [DESCRIPTION](#DESCRIPTION)

This class represents type constraints based on an enumerated list of acceptable values.

# [INHERITANCE](#INHERITANCE)

"Moose::Meta::TypeConstraint::Enum" is a subclass of Moose::Meta::TypeConstraint.

# [METHODS](#METHODS)

## [Moose::Meta::TypeConstraint::Enum-&gt;new(%options)](#Moose::Meta::TypeConstraint::Enum)

This creates a new enum type constraint based on the given %options.

It takes the same options as its parent, with several exceptions. First, it requires an additional option, "values". This should be an array reference containing a list of valid string values. Second, it automatically sets the parent to the "Str" type.

Finally, it ignores any provided "constraint" option. The constraint is generated automatically based on the provided "values".

## [$constraint-&gt;values](#$constraint)

Returns the array reference of acceptable values provided to the constructor.

## [$constraint-&gt;create\_child\_type](#$constraint~2)

This returns a new Moose::Meta::TypeConstraint object with the type as its parent.

Note that it does *not* return a "Moose::Meta::TypeConstraint::Enum" object!

# [BUGS](#BUGS)

See "BUGS" in Moose for details on reporting bugs.

2026-08-29 perl v5.44.0

---

Document: Moose::Meta::TypeConstraint::Enum(3pm) from perl-moose 2.4000-r4 (Chainguard OS)
Source: https://github.com/moose/Moose
