==============================================================================
Release of version 0.01 of Attribute::Handlers::Prospective
==============================================================================
NAME
Attribute::Handlers::Prospective - Enhanced definition of attribute handlers
DESCRIPTION
This module, when inherited by a package, allows that package's class to
define attribute handler subroutines for specific attributes. Variables
and subroutines subsequently defined in that package, or in packages
derived from that package may be given attributes with the same names as
the attribute handler subroutines, which will then be called at the end
of the compilation phase (i.e. in an INIT block).
EXAMPLE
package UNIVERSAL;
use Attribute::Handlers::Prospective;
my %name;
sub name { return $name{$_[2]}||*{$_[1]}{NAME} }
sub Name :ATTR(RAWDATA) {
$name{$_[2]} = $_[4]
}
sub Purpose :ATTR(RAWDATA) {
print STDERR "Purpose of ", &name, " is $_[4]\n"
}
sub Unit :ATTR(RAWDATA) {
print STDERR &name, " measured in $_[4]\n"
}
package main;
my $capacity : Name(capacity)
: Purpose(to store max storage capacity for files)
: Unit(Gb);
package Other;
sub foo : Purpose(to foo all data before barring it) { }
AUTHOR
Damian Conway (damian@conway.org)
COPYRIGHT
Copyright (c) 2001, Damian Conway. All Rights Reserved.
This module is free software. It may be used, redistributed
and/or modified under the same terms as Perl itself.
==============================================================================
CHANGES IN VERSION 0.01
(No changes have been documented for this version)
==============================================================================
AVAILABILITY
Attribute::Handlers::Prospective has been uploaded to the CPAN
and is also available from:
http://www.csse.monash.edu.au/~damian/CPAN/Attribute-Handlers-Prospective.tar.gz
==============================================================================