1 ==============================================================================
2 Release of version 0.78 of Attribute::Handlers
3 ==============================================================================
7 Attribute::Handlers - Simpler definition of attribute handlers
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).
20 use Attribute::Handlers;
23 sub name { return $name{$_[2]}||*{$_[1]}{NAME} }
25 sub Name :ATTR { $name{$_[2]} = $_[4] }
27 sub Purpose :ATTR { print STDERR "Purpose of ", &name, " is $_[4]\n" }
29 sub Unit :ATTR { print STDERR &name, " measured in $_[4]\n" }
34 my $capacity : Name(capacity)
35 : Purpose(to store max storage capacity for files)
40 sub foo : Purpose(to foo all data before barring it) { }
44 Damian Conway (damian@conway.org)
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.
52 ==============================================================================
54 0.78 Sat Oct 5 07:18:09 CEST 2002
56 - [#17940] Includes :unique and :shared in the builtin types
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.
62 ==============================================================================
66 Attribute::Handlers has been uploaded to the CPAN
67 and is also available from:
69 http://www.csse.monash.edu.au/~damian/CPAN/Attribute-Handlers.tar.gz
71 ==============================================================================