table of contents
| Class::Meta::Types::Perl(3pm) | User Contributed Perl Documentation | Class::Meta::Types::Perl(3pm) | 
NAME¶
Class::Meta::Types::Perl - Perl data types
SYNOPSIS¶
  package MyApp::Thingy;
  use strict;
  use Class::Meta;
  use Class::Meta::Types::Perl;
  # OR...
  # use Class::Meta::Types::Perl 'affordance';
  # OR...
  # use Class::Meta::Types::Perl 'semi-affordance';
  BEGIN {
      # Create a Class::Meta object for this class.
      my $cm = Class::Meta->new( key => 'thingy' );
      # Add an integer attribute.
      $cm->add_attribute( name => 'my_hash',
                          type => 'hash' );
      $cm->build;
  }
DESCRIPTION¶
This module provides Perl data types for use with Class::Meta attributes. Simply load it, then pass the name of one of its types to the "add_attribute()" method of a Class::Meta object. See Class::Meta::Type for more information on using and creating data types.
The validation checks for Class::Meta::Types::Perl are provided by the Class::Meta::Type's support for object type validation, since Perl data types are understood by "UNIVERSAL::isa()".
The data types created by Class::Meta::Types::Perl are:
- scalar
 - A simple scalar value. This can be anything, and has no validation checks.
 - scalarref
 - A scalar reference. "UNIVERSAL::isa()" must return 'SCALAR'.
 - array
 - arrayref
 - A array reference. "UNIVERSAL::isa()" must return 'ARRAY'.
 - hash
 - hashref
 - A hash reference. "UNIVERSAL::isa()" must return 'HASH'.
 - code
 - coderef
 - closure
 - A code reference. Also known as a closure. "UNIVERSAL::isa()" must return 'CODE'.
 
SUPPORT¶
This module is stored in an open GitHub repository <http://github.com/theory/class-meta/>. Feel free to fork and contribute!
Please file bug reports via GitHub Issues <http://github.com/theory/class-meta/issues/> or by sending mail to bug-Class-Meta@rt.cpan.org <mailto:bug-Class-Meta@rt.cpan.org>.
AUTHOR¶
David E. Wheeler <david@justatheory.com>
SEE ALSO¶
Other classes of interest within the Class::Meta distribution include:
- Class::Meta
 - This class contains most of the documentation you need to get started with Class::Meta.
 - Class::Meta::Type
 - This class manages the creation of data types.
 - Class::Meta::Attribute
 - This class manages Class::Meta class attributes, all of which are based on data types.
 
Other data type modules:
COPYRIGHT AND LICENSE¶
Copyright (c) 2002-2011, David E. Wheeler. Some Rights Reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| 2021-01-08 | perl v5.32.0 |