---
name: "Type::Params::Alternatives"
section: "3pm"
platform: "linux"
package: "perl-type-tiny"
version: "2.010001-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Type::Params::Alternatives"
---

# Type::Params::Alternatives(3pm)

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

## NAME

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

## STATUS

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

## 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

- new(%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

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

## SEE ALSO

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

## AUTHOR

Toby Inkster \<tobyink@cpan.org\>.

## 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

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.
