1Mouse::XS(3) User Contributed Perl Documentation Mouse::XS(3)
2
3
4
6 Mouse::XS - A Mouse guts in XS
7
9 This document describes Mouse version 2.0.0
10
12 Mouse has an optional XS implementation, which is automatically built
13 and used if available. According to benchmarks, this is about 2 times
14 faster than Mouse::PurePerl.
15
16 INSTALL
17 The XS implementation are selected by default, but you can force it by
18 passing the "--xs" option to Makefile.PL.
19
20 perl Makefile.PL --xs
21
22 If you do not want to build the XS implementation, you can pass the
23 "--pp" option to Makefile.PL.
24
25 perl Makefile.PL --pp
26
27 Or if you use "cpanm" (>= 1.7), you can give "--pp" option to "cpanm".
28
29 cpanm --pp Mouse
30
31 The MOUSE_PUREPERL (or PERL_ONLY) environment variable
32 It can be used to enable the use of Mouse::PurePerl in order to test
33 and debug programs that use Mouse.
34
36 There are some Mouse::XS specific features.
37
38 Mutating references to the return values of getters
39 When you take a reference from Mouse getters, like "$ref =
40 \$obj->foo", the $ref refers "\$obj->{foo}". That is, mutating
41 $$ref also alters "$obj->{foo}". The behavior may confuse you so
42 you'd better avoid to take a reference directly from getters.
43
44 See <https://rt.cpan.org/Ticket/Display.html?id=82945> for details.
45
47 The XS implementation requires Perl 5.8.1 or later, and a C compiler.
48
50 Mouse
51
52 Mouse::PurePerl
53
54
55
56perl v5.34.0 2021-07-22 Mouse::XS(3)