phpman > info > Type::Parser

Markdown | JSON | MCP    

Type::Parser(3pm)     User Contributed Perl Documentation    Type::Parser(3pm)

NAME
       Type::Parser - parse type constraint strings

SYNOPSIS
        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.

DESCRIPTION
       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"
       "NOT"
       "L_PAREN"
       "R_PAREN"
       "MYSTERY"

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

SEE ALSO
       Type::Registry.

AUTHOR
       Toby Inkster <tobyink AT cpan.org>.

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

perl v5.32.1                      2021-08-31                 Type::Parser(3pm)

Generated by phpman local Author: Che Dong Under GNU General Public License
2026-06-15 07:12 @216.73.216.200
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!

^_back to top