Devel::MRO - Provides mro functions for XS modules
This document describes Devel::MRO version 0.05.
# In your XS distribution # Add the following to your Makefile.PL use inc::Module::Install; use ExtUtils::Depends; # ... requires 'MRO::Compat' if $] < 5.010_000; include 'ExtUtils::Depends'; my $pkg = ExtUtils::Depends->new('Your::Module', 'Devel::MRO'); # ... WriteMakefile( $pkg->get_makefile_vars, # ... ); /* Then put the "include" directive in your Module.xs */ /* ... */ #include "ppport.h" #define NEED_mro_get_linear_isa /* or NEED_mro_get_linear_isa_GLOBAL */ #include "mro_compat.h" /* Now you can use several mro functions in your Module.xs: mro_get_linear_isa() mro_get_pkg_gen() mro_method_changed_in() */
Devel::MRO provides several mro functions for XS modules.
Devel::MRO
This module provides only a header file, mro_compat.h, so you need not load it in your modules.
The same as mro::get_linear_isa() in Perl.
mro::get_linear_isa()
In 5.10 or later, it is just a public Perl API.
In pre-5.10 it calls mro::get_linear_isa provided by MRO::Compat. It has a cache mechanism as Perl 5.10 does, so it is much faster than the direct call of MRO::Compat's mro::get_linear_isa.
mro::get_linear_isa
MRO::Compat
The same as mro::method_changed_in() in Perl.
mro::method_changed_in()
The same as mro::get_pkg_gen() in Perl. This is not a Perl API.
mro::get_pkg_gen()
This may evaluate stash more than once.
Perl 5.8.1 or later.
ExtUtils::Depends.
MRO::Compat if Perl version < 5.10.0.
No bugs have been reported.
Please report any bugs or feature requests to the author.
Goro Fuji(gfx) <gfuji(at)cpan.org>.
mro.
MRO::Compat.
"MRO Functions" in perlapi.
Copyright (c) 2008-2009, Goro Fuji (gfx). Some rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Devel::MRO, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Devel::MRO
CPAN shell
perl -MCPAN -e shell install Devel::MRO
For more information on module installation, please visit the detailed CPAN module installation guide.