Mouse::XS(3pm)
π NAME π
okay so this is Mouse::XS, aka the Mouse::XS(3pm) page β shoutout to the User Contributed Perl Documentation girlies β and itβs all about the XS guts of Mouse. π
β¨ VERSION β¨
This document describes Mouse version 2.0.0 β periodt. π«Ά
πΈ DESCRIPTION πΈ
Mouse has an optional XS implementation, and it gets automatically built and used if itβs available. According to benchmarks, thatβs about 2 times faster than Mouse::PurePerl, no cap. π₯
π οΈ INSTALL π οΈ
The XS implementation is 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 the --pp option to cpanm:
cpanm --pp Mouse
π§ͺ The MOUSE_PUREPERL (or PERL_ONLY) environment variable π§ͺ
bestie, this env var 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, and hereβs the tea. β
π Mutating references to the return values of getters π
When you take a reference from Mouse getters, like $ref = \$obj->foo, that $ref refers to \$obj->{foo}. That is, mutating $$ref also alters $obj->{foo}. The behavior may confuse you, so youβd better avoid taking a reference directly from getters. fr fr. π
See https://rt.cpan.org/Ticket/Display.html?id=82945 for details.
π§ DEPENDENCIES π§
The XS implementation requires Perl 5.10.1 or later, and a C compiler. π
π SEE ALSO π
MouseMouse::PurePerl
thatβs the whole page, bestie β source/version vibes: perl v5.42.2, dated 2026-04-21, and this is the Mouse::XS(3pm) page. byeee π«Άπ
π¦ where this page comes from
- alpine 3.24: perl-mouse-doc 2.6.2-r0 Β· GPL-1.0-or-later OR Artistic-1.0-Perl
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms