NAME¶
Mouse::XS - A Mouse guts in XS
VERSION¶
This document describes Mouse version 2.0.0
DESCRIPTION¶
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.
INSTALL¶
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
The MOUSE_PUREPERL (or PERL_ONLY) environment variable¶
It can be used to enable the use of Mouse::PurePerl in order to test and debug
programs that use Mouse.
CAVEAT¶
There are some Mouse::XS specific features.
- Mutationg 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.
DEPENDENCIES¶
The XS implementation requires Perl 5.8.1 or later, and a C compiler.
SEE ALSO¶
Mouse
Mouse::PurePerl