Moose::Util - Utilities for working with Moose classes
use Moose::Util qw/find_meta does_role search_class_by_role/; my $meta = find_meta($object) || die "No metaclass found"; if (does_role($object, $role)) { print "The object can do $role!\n"; } my $class = search_class_by_role($object, 'FooRole'); print "Nearest class with 'FooRole' is $class\n";
This is a set of utility functions to help working with Moose classes. This is an experimental module, and it's not 100% clear what purpose it will serve. That said, ideas, suggestions and contributions to this collection are most welcome. See the TODO section below for a list of ideas for possible functions to write.
This will attempt to locate a metaclass for the given $class_or_obj and return it.
$class_or_obj
Returns true if $class_or_obj can do the role $role_name.
$role_name
Returns first class in precedence list that consumed $role_name.
Here is a list of possible functions to write
All complex software has bugs lurking in it, and this module is no exception. If you find a bug please either email me, or add the bug to cpan-RT.
Anders Nor Berle <debolaz@gmail.com>
with contributions from:
Robert (phaylon) Sedlacek
Stevan Little
Copyright 2007 by Infinity Interactive, Inc.
http://www.iinteractive.com
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Moose, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Moose
CPAN shell
perl -MCPAN -e shell install Moose
For more information on module installation, please visit the detailed CPAN module installation guide.