package Descriptions;
use Attribute::Handlers::Prospective;
my %name;
sub name {
return $name{$_[2]}||*{$_[1]}{NAME};
}
sub UNIVERSAL::Name :ATTR(RAWDATA) {
$name{$_[2]} = $_[4];
}
sub UNIVERSAL::Purpose :ATTR(RAWDATA) {
print STDERR "Purpose of ", &name, " is $_[4]\n";
}
sub UNIVERSAL::Unit :ATTR(RAWDATA) {
print STDERR &name, " measured in $_[4]\n";
}
1;