1metaclass(3)          User Contributed Perl Documentation         metaclass(3)
2
3
4

NAME

6       metaclass - a pragma for installing and using Class::MOP metaclasses
7

VERSION

9       version 2.2203
10

SYNOPSIS

12         package MyClass;
13
14         # use Class::MOP::Class
15         use metaclass;
16
17         # ... or use a custom metaclass
18         use metaclass 'MyMetaClass';
19
20         # ... or use a custom metaclass
21         # and custom attribute and method
22         # metaclasses
23         use metaclass 'MyMetaClass' => (
24             'attribute_metaclass' => 'MyAttributeMetaClass',
25             'method_metaclass'    => 'MyMethodMetaClass',
26         );
27
28         # ... or just specify custom attribute
29         # and method classes, and Class::MOP::Class
30         # is the assumed metaclass
31         use metaclass (
32             'attribute_metaclass' => 'MyAttributeMetaClass',
33             'method_metaclass'    => 'MyMethodMetaClass',
34         );
35
36         # if we'd rather not install a 'meta' method, we can do this
37         use metaclass meta_name => undef;
38         # or if we'd like it to have a different name,
39         use metaclass meta_name => 'my_meta';
40

DESCRIPTION

42       This is a pragma to make it easier to use a specific metaclass and a
43       set of custom attribute and method metaclasses. It also installs a
44       "meta" method to your class as well, unless "undef" is passed to the
45       "meta_name" option.
46
47       Note that if you are using Moose, you most likely do not want to be
48       using this - look into Moose::Util::MetaRole instead.
49

AUTHORS

51       •   Stevan Little <stevan@cpan.org>
52
53       •   Dave Rolsky <autarch@urth.org>
54
55       •   Jesse Luehrs <doy@cpan.org>
56
57       •   Shawn M Moore <sartak@cpan.org>
58
59       •   יובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>
60
61       •   Karen Etheridge <ether@cpan.org>
62
63       •   Florian Ragwitz <rafl@debian.org>
64
65       •   Hans Dieter Pearcey <hdp@cpan.org>
66
67       •   Chris Prather <chris@prather.org>
68
69       •   Matt S Trout <mstrout@cpan.org>
70
72       This software is copyright (c) 2006 by Infinity Interactive, Inc.
73
74       This is free software; you can redistribute it and/or modify it under
75       the same terms as the Perl 5 programming language system itself.
76
77
78
79perl v5.36.0                      2023-02-06                      metaclass(3)
Impressum