Preparing A::H for CPAN release, upped version to 0.77
[p5sagit/p5-mst-13.2.git] / lib / Attribute / Handlers / README
CommitLineData
0e9b9e0c 1==============================================================================
d473d728 2 Release of version 0.77 of Attribute::Handlers
0e9b9e0c 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, 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
d473d728 540.77 Sat Jun 8 22:58:56 CEST 2002
0e9b9e0c 55
d473d728 56 - Since Attribute::Handlers now is core, I will refer to changes
57 with their patch number, please read Porting/repository.pod from
58 your a perl tarball for more information.
0e9b9e0c 59
d473d728 60 - Brought up to date with perl 5.8RC1 version
61 will be 5.8 if no more changes come in
0e9b9e0c 62
d473d728 63 - [#13686] This changes the behaviour of lexical attributes.
64 Prior to this lexical attributes were done at a compile time,
65 and they would loose their attribute on the next run over them.
66 Now perl 5.8 calls the attribute handler runtime whenever it hits my.
0e9b9e0c 67
d473d728 68 - [#14448] Fixes cases with too high refcounts on lexical attributes
69
70 - [#15945] Do not warn about too late CHECK and INIT block if
71 A::H is pulled in using a require.
0e9b9e0c 72
73
74==============================================================================
75
76AVAILABILITY
77
78Attribute::Handlers has been uploaded to the CPAN
79and is also available from:
80
81 http://www.csse.monash.edu.au/~damian/CPAN/Attribute-Handlers.tar.gz
82
83==============================================================================