The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.22

  • Moose::Util::TypeConstraints
    • fix for prototype undeclared issue when Moose::Util::TypeConstraints loaded before consumers (e.g. Moose::Meta::Attribute) by predeclaring prototypes for functions
    • added the ClassName type constraint, this checks for strings which will respond true to ->isa(UNIVERSAL).
      • added tests and docs for this
    • subtyping just in name now works correctly by making the default for where be { 1 }
      • added test for this
  • Moose::Meta::Method::Accessor
    • coerce and lazy now work together correctly, thanks to merlyn for finding this bug
      • tests added for this
    • fix reader presedence bug in Moose::Meta::Attribute + tests
  • Moose::Object
    • Foo->new(undef) now gets ignored, it is assumed you meant to pass a HASH-ref and missed. This produces better error messages then having it die cause undef is not a HASH.
      • added tests for this

Documentation

How to cook a Moose
Frequently asked questions about Moose
The (always classic) Point example.
A simple BankAccount example
A lazy BinaryTree example
Subtypes, and modeling a simple Company class hierarchy
More subtypes, coercion in a Request class
The Moose::Role example
For when things go wrong with Moose

Modules

A complete modern object system for Perl 5
The Moose attribute metaclass
The Moose metaclass
The Moose Instance metaclass
A Moose Method metaclass
A Moose Method metaclass for accessors
Method Meta Object for constructors
Method Meta Object for destructors
A Moose Method metaclass for overriden methods
The Moose Role metaclass
A Moose Method metaclass for Roles
The Moose Type Coercion metaclass
The Moose Type Constraint metaclass
A union of Moose type constraints
The base object for Moose
The Moose Role
Type constraint system for Moose