Mouse::XS(3p)

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.

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.

DEPENDENCIES
The XS implementation requires Perl 5.8.1 or later, and a C compiler.

SEE ALSO
Mouse

Mouse::PurePerl