Type::Params::Alternatives(3) User Contributed Perl Documentation Type::Params::Alternatives(3)

# [NAME](#NAME)

Type::Params::Alternatives - subclass of Type::Params::Signature for "multi" signatures

# [STATUS](#STATUS)

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

# [DESCRIPTION](#DESCRIPTION)

This is mostly internal code, but can be used to provide basic introspection for signatures.

This module is a subclass of Type::Parameters::Signature, so inherits attributes and methods from that.

## [Constructor](#Constructor)

[new(%attributes)](#new%28_attributes%29)

## [Attributes](#Attributes)

All attributes are read-only.

"base\_options" **HashRef**

"alternatives" **ArrayRef\[HashRef|ArrayRef|CodeRef]**

"sig\_class" **ClassName**

"meta\_alternatives" **ArrayRef\[HashRef]**

Automatically built from "alternatives"; do not set this yourself.

"parameters" **ArrayRef**

Overridden from parent class to always return the empty arrayref.

"message" **Str**

Error message to be thrown when none of the alternatives match. This is a bare attribute with no accessor method.

# [BUGS](#BUGS)

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

# [SEE ALSO](#SEE_ALSO)

Type::Params, Type::Params::Signature.

# [AUTHOR](#AUTHOR)

Toby Inkster &lt;tobyink@cpan.org&gt;.

# [COPYRIGHT AND LICENCE](#COPYRIGHT_AND_LICENCE)

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

# [DISCLAIMER OF WARRANTIES](#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.

2026-10-26 perl v5.44.0

---

Document: Type::Params::Alternatives(3pm) from perl-type-tiny 2.010001-r5 (Chainguard OS)
Source: https://github.com/tobyink/p5-type-tiny
