Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

any::moose(3pm) [debian man page]

Any::Moose(3pm) 					User Contributed Perl Documentation					   Any::Moose(3pm)

NAME
Any::Moose - use Moose or Mouse modules VERSION
version 0.17 SYNOPSIS
BASIC package Class; # uses Moose if it's loaded or demanded, Mouse otherwise use Any::Moose; # cleans the namespace up no Any::Moose; OTHER MODULES package Other::Class; use Any::Moose; # uses Moose::Util::TypeConstraints if the class has loaded Moose, # Mouse::Util::TypeConstraints otherwise. use Any::Moose '::Util::TypeConstraints'; ROLES package My::Sorter; use Any::Moose 'Role'; requires 'cmp'; COMPLEX USAGE package My::Meta::Class; use Any::Moose; # uses subtype from Moose::Util::TypeConstraints if the class loaded Moose, # subtype from Mouse::Util::TypeConstraints otherwise. # similarly for Mo*se::Util's does_role use Any::Moose ( '::Util::TypeConstraints' => ['subtype'], '::Util' => ['does_role'], ); # uses MouseX::Types or MooseX::Types use Any::Moose 'X::Types'; # gives you the right class name depending on which Mo*se was loaded extends any_moose('::Meta::Class'); DESCRIPTION
Though we recommend that people generally use Moose, we accept that Moose cannot yet be used for everything everywhere. People generally like the Moose sugar, so many people use Mouse, a lightweight replacement for parts of Moose. Because Mouse strives for compatibility with Moose, it's easy to substitute one for the other. This module facilitates that substitution. By default, Mouse will be provided to libraries, unless Moose is already loaded -or- explicitly requested by the end-user. The end-user can force the decision of which backend to use by setting the environment variable "ANY_MOOSE" to be "Moose" or "Mouse". Note that the decision of which backend to use is made only once, so that if Any-Moose picks Mouse, then a third-party library loads Moose, anything else that uses Any-Moose will continue to pick Mouse. So, if you have to use Mouse, please be considerate to the Moose fanboys (like myself!) and use Any-Moose instead. ":)" SEE ALSO
Moose Mouse Squirrel - a deprecated first-stab at Any-Moose-like logic. Its biggest fault was in making the decision of which backend to use every time it was used, rather than just once. AUTHORS
o Shawn M Moore <sartak@bestpractical.com> o Florian Ragwitz <rafl@debian.org> o Stevan Little <stevan@iinteractive.com> o Tokuhiro Matsuno <tokuhirom@gmail.com> o Goro Fuji <gfuji@cpan.org> COPYRIGHT AND LICENSE
This software is copyright (c) 2011 by Best Practical Solutions. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. perl v5.12.4 2011-09-16 Any::Moose(3pm)

Check Out this Related Man Page

Moose::Cookbook::Snack::Keywords(3pm)			User Contributed Perl Documentation		     Moose::Cookbook::Snack::Keywords(3pm)

NAME
Moose::Cookbook::Snack::Keywords - Restricted "keywords" in Moose VERSION
version 2.0603 DESCRIPTION
Moose exports a number of sugar functions in order to emulate Perl built-in keywords. These can cause clashes with other user-defined functions. This document provides a list of those keywords for easy reference. The 'meta' keyword "use Moose" adds a method called "meta" to your class. If this conflicts with a method or function you are using, you can rename it, or prevent it from being installed entirely. To do this, pass the "-meta_name" option when you "use Moose". For instance: # install it under a different name use Moose -meta_name => 'moose_meta'; # don't install it at all use Moose -meta_name => undef; Moose Keywords If you are using Moose or Moose::Role it is best to avoid these keywords: extends with has before after around super override inner augment confess blessed Moose::Util::TypeConstraints Keywords If you are using Moose::Util::TypeConstraints it is best to avoid these keywords: type subtype class_type role_type maybe_type duck_type as where message optimize_as inline_as coerce from via enum find_type_constraint register_type_constraint Avoiding collisions Turning off Moose To remove the sugar functions Moose exports, just add "no Moose" at the bottom of your code: package Thing; use Moose; # code here no Moose; This will unexport the sugar functions that Moose originally exported. The same will also work for Moose::Role and Moose::Util::TypeConstraints. Sub::Exporter features Moose, Moose::Role and Moose::Util::TypeConstraints all use Sub::Exporter to handle all their exporting needs. This means that all the features that Sub::Exporter provides are also available to them. For instance, with Sub::Exporter you can rename keywords, like so: package LOL::Cat; use Moose 'has' => { -as => 'i_can_haz' }; i_can_haz 'cheeseburger' => ( is => 'rw', trigger => sub { print "NOM NOM" } ); LOL::Cat->new->cheeseburger('KTHNXBYE'); See the Sub::Exporter docs for more information. namespace::autoclean and namespace::clean You can also use namespace::autoclean to clean up your namespace. This will remove all imported functions from your namespace. Note that if you are importing functions that are intended to be used as methods (this includes overload, due to internal implementation details), it will remove these as well. Another option is to use namespace::clean directly, but you must be careful not to remove "meta" when doing so: package Foo; use Moose; use namespace::clean -except => 'meta'; # ... SEE ALSO
Moose Moose::Role Moose::Utils::TypeConstraints Sub::Exporter namespace::autoclean namespace::clean AUTHOR
Moose is maintained by the Moose Cabal, along with the help of many contributors. See "CABAL" in Moose and "CONTRIBUTORS" in Moose for details. COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Infinity Interactive, Inc.. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. perl v5.14.2 2012-06-28 Moose::Cookbook::Snack::Keywords(3pm)
Man Page