Type::Parser(3pm)

Type::Parser3pm

Parse type constraint strings

Usage

 use v5.10;
 use strict;
 use warnings;
 
 use Type::Parser qw( eval_type );
 use Type::Registry;
 
 my $reg = Type::Registry->for_me;
 $reg->add_types("Types::Standard");
 
 my $type = eval_type("Int | ArrayRef[Int]", $reg);
 
 $type->check(10);        # true
 $type->check([1..4]);    # true
 $type->check({foo=>1});  # false

Status

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

Overview

Generally speaking, you probably don't want to be using this module directly. Instead use the "lookup" method from Type::Registry which wraps it.

Functions

parse($string)

Parse the type constraint string into something like an AST.

If called in list context, also returns any "tail" found on the original string.

"extract_type($string, $registry)"

Compile a type constraint string into a Type::Tiny object.

If called in list context, also returns any "tail" found on the original string.

"eval_type($string, $registry)"

Compile a type constraint string into a Type::Tiny object.

Throws an error if the "tail" contains any non-whitespace character.

Constants

The following constants correspond to values returned by "$token->type".

"TYPE"
"QUOTELIKE"
"STRING"
"HEXNUM"
"CLASS"
"L_BRACKET"
"R_BRACKET"
"COMMA"
"SLURPY"
"UNION"
"INTERSECT"
"SLASH"
"NOT"
"L_PAREN"
"R_PAREN"
"MYSTERY"

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.

Releases

7 releases since Debian 8 (Jessie); the text changed 6 times.

  1. 8
  2. 9
  3. 10
  4. 11
  5. 12
  6. 13
  7. Arch

Bugs

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

Author

Toby Inkster <[email protected]>.

From perl-type-tiny 2.010001-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.