Moose::Cookbook::Snack::Keywords man page on Mageia

Man page or keyword search:  
man Server   17783 pages
apropos Keyword Search (all sections)
Output format
Mageia logo
[printable version]

Moose::Cookbook::SnackUseryContributed PerlMoose::Cookbook::Snack::Keywords(3)

NAME
       Moose::Cookbook::Snack::Keywords - Restricted "keywords" in Moose

VERSION
       version 2.1005

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::Util::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) 2013 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.18.1			  2013-08-0Moose::Cookbook::Snack::Keywords(3)
[top]

List of man pages available for Mageia

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net