The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
NAME
    MooX::Types::MooseLike - some Moosish types and a type builder

SYNOPSIS
        package MyApp::Types;
        use MooX::Types::MooseLike;
        use base qw(Exporter);
        our @EXPORT_OK = ();

        # Define some types
        my $defs = [{
          name => 'MyType',
          test => sub { predicate($_[0]) },
          message => sub { "$_[0] is not the type we want!" }
        },
        {
          name => 'VarChar',
          test => sub {
            my ($value, $param) = @_;
            length($value) <= $param;
          },
          message => sub { "$_[0] is too large! It should be less than or equal to $_[1]." }
        }];

        # Make the types available - this adds them to @EXPORT_OK automatically.
        MooX::Types::MooseLike::register_types($defs, __PACKAGE__);

        ...

        # Somewhere in code that uses the type
        package MyApp::Foo;
        use Moo;
        use MyApp::Types qw(MyType VarChar);
        has attribute => (
          is  => 'ro',
          isa => MyType,
        );

        has string => (
          is  => 'ro',
          isa => VarChar[25]
        );

DESCRIPTION
    See MooX::Types::MooseLike::Base for a list of available base types. Its
    source also provides an example of how to build base types, along with
    both parameterizable and non-parameterizable.

    See MooX::Types::MooseLike::Numeric for an example of how to build
    subtypes.

    See MooX::Types::SetObject for an example of how to build parameterized
    types.

AUTHOR
    mateu - Mateu X. Hunter (cpan:MATEU) <hunter@missoula.org>

CONTRIBUTORS
    mst - Matt S. Trout (cpan:MSTROUT) <mst@shadowcat.co.uk>

    Mithaldu - Christian Walde (cpan:MITHALDU)
    <walde.christian@googlemail.com>

    Matt Phillips (cpan:MATTP) <mattp@cpan.org>

    Arthur Axel fREW Schmidt (cpan:FREW) <frioux@gmail.com>

    Toby Inkster (cpan:TOBYINK) <tobyink@cpan.org>

COPYRIGHT
    Copyright (c) 2011-2013 the MooX::Types::MooseLike "AUTHOR" and
    "CONTRIBUTORS" as listed above.

LICENSE
    This library is free software and may be distributed under the same
    terms as perl itself.