Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages
Mouse::Spec(3) User Contributed Perl Documentation Mouse::Spec(3)

Mouse::Spec - To what extent Mouse is compatible with Moose

This document describes Mouse version v2.5.6

    use Mouse::Spec;
    printf "Mouse/%s is compatible with Moose/%s\n",
        Mouse::Spec->MouseVersion, Mouse::Spec->MooseVersion;

Mouse is a subset of Moose. This document describes to what extend Mouse is compatible (and incompatible) with Moose.

Sugary APIs
The sugary APIs are highly compatible with Moose. Methods which have the same name as Moose's are expected to be compatible with Moose's.
Meta object protocols
Meta object protocols are a subset of the counterpart of Moose. Their methods which have the same name as Moose's are expected to be compatible with Moose's. Feel free to use these methods even if they are not documented.
However, there are differences between Moose's MOP and Mouse's. For example, meta object protocols in Mouse have no attributes by default, so "$metaclass->meta->make_immutable()" will not work as you expect. Don not make metaclasses immutable.
Meta instance mechanism is not implemented, so you cannot change the reftype of Mouse objects in the same way as Moose.
Role exclusion
Role exclusion, "exclude()", is not implemented.
-metaclass in Mouse::Exporter
"use Mouse -metaclass => ..." are not implemented. Use "use Mouse -traits => ..." instead.
Native traits are not supported directly, but "MouseX::NativeTraits" is available on CPAN. Once you have installed it, you can use it as the same way in Moose. That is, native traits are automatically loaded by Mouse.
See MouseX::NativeTraits for details.

Many recipes in Moose::Cookbook fit Mouse, including:
Moose::Cookbook::Basics::Recipe1 - The (always classic) Point example
Moose::Cookbook::Basics::Recipe2 - A simple BankAccount example
Moose::Cookbook::Basics::Recipe3 - A lazy BinaryTree example
Moose::Cookbook::Basics::Recipe4 - Subtypes, and modeling a simple Company class hierarchy
Moose::Cookbook::Basics::Recipe5 - More subtypes, coercion in a Request class
Moose::Cookbook::Basics::Recipe6 - The augment/inner example
Moose::Cookbook::Basics::Recipe7 - Making Moose fast with immutable
Moose::Cookbook::Basics::Recipe8 - Builder methods and lazy_build
Moose::Cookbook::Basics::Recipe9 - Operator overloading, subtypes, and coercion
Moose::Cookbook::Basics::Recipe10 - Using BUILDARGS and BUILD to hook into object construction
Moose::Cookbook::Roles::Recipe1 - The Moose::Role example
Moose::Cookbook::Roles::Recipe2 - Advanced Role Composition - method exclusion and aliasing
Moose::Cookbook::Roles::Recipe3 - Applying a role to an object instance
Moose::Cookbook::Meta::Recipe2 - A meta-attribute, attributes with labels
Moose::Cookbook::Meta::Recipe3 - Labels implemented via attribute traits
Moose::Cookbook::Extending::Recipe3 - Providing an alternate base object class

2019-01-01 perl v5.28.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.