Mouse::XS − A Mouse guts in XS
This document describes Mouse version 2.0.0
Mouse has an optional XS implementation, which is automatically built and used if available. According to benchmarks, this is about 2 times faster than Mouse::PurePerl.
The XS implementation are selected by default, but you can force it by passing the "−−xs" option to Makefile.PL.
perl Makefile.PL −−xs
If you do not want to build the XS implementation, you can pass the "−−pp" option to Makefile.PL.
perl Makefile.PL −−pp
Or if you use "cpanm" (>= 1.7), you can give "−−pp" option to "cpanm".
cpanm −−pp Mouse
It can be used to enable the use of Mouse::PurePerl in order to test and debug programs that use Mouse.
There are some
Mouse::XS specific features.
Mutating references to the return values of getters
When you take a reference from Mouse getters, like "$ref = \$obj−>foo", the $ref refers "\$obj−>{foo}". That is, mutating $$ref also alters "$obj−>{foo}". The behavior may confuse you so you’d better avoid to take a reference directly from getters.
See <https://rt.cpan.org/Ticket/Display.html?id=82945> for details.
The XS implementation requires Perl 5.8.1 or later, and a C compiler.
Mouse
Mouse::PurePerl