1==============================================================================
2                Release of version 0.78 of Attribute::Handlers
3==============================================================================
4
5
6NAME
7    Attribute::Handlers - Simpler definition of attribute handlers
8
9DESCRIPTION
10    This module, when inherited by a package, allows that package's class to
11    define attribute handler subroutines for specific attributes. Variables
12    and subroutines subsequently defined in that package, or in packages
13    derived from that package may be given attributes with the same names as
14    the attribute handler subroutines, which will then be called at the end
15    of the compilation phase (i.e. in a `CHECK' block).
16
17EXAMPLE
18
19	package UNIVERSAL;
20	use Attribute::Handlers;
21
22	my %name;
23	sub name { return $name{$_[2]}||*{$_[1]}{NAME} }
24
25	sub Name    :ATTR { $name{$_[2]} = $_[4] }
26
27	sub Purpose :ATTR { print STDERR "Purpose of ", &name, " is $_[4]\n" }
28
29	sub Unit    :ATTR { print STDERR &name, " measured in $_[4]\n" }
30
31
32	package main;
33
34	my $capacity : Name(capacity)
35		     : Purpose(to store max storage capacity for files)
36		     : Unit(Gb);
37
38	package Other;
39
40	sub foo : Purpose(to foo all data before barring it) { }
41
42
43AUTHOR
44    Damian Conway (damian@conway.org)
45
46COPYRIGHT
47             Copyright (c) 2001-2002, Damian Conway. All Rights Reserved.
48           This module is free software. It may be used, redistributed
49               and/or modified under the same terms as Perl itself.
50
51
52==============================================================================
53
540.78	Sat Oct  5 07:18:09 CEST 2002
55
56	- [#17940] Includes :unique and :shared in the builtin types
57
58	- From perl 5.8 { __CALLER__::foo => __PACKAGE } is missparsed,
59	the proper approach is to use  { '__CALLER__::foo' => __PACKAGE }.
60	The documentation is updated to reflect this.
61
62==============================================================================
63
64AVAILABILITY
65
66Attribute::Handlers has been uploaded to the CPAN
67and is also available from:
68
69	http://www.csse.monash.edu.au/~damian/CPAN/Attribute-Handlers.tar.gz
70
71==============================================================================
72