1package Descriptions;
2
3use Attribute::Handlers::Prospective;
4
5my %name;
6
7sub name {
8	return $name{$_[2]}||*{$_[1]}{NAME};
9}
10
11sub UNIVERSAL::Name :ATTR(RAWDATA) {
12	$name{$_[2]} = $_[4];
13}
14
15sub UNIVERSAL::Purpose :ATTR(RAWDATA) {
16	print STDERR "Purpose of ", &name, " is $_[4]\n";
17}
18
19sub UNIVERSAL::Unit :ATTR(RAWDATA) {
20	print STDERR &name, " measured in $_[4]\n";
21}
22
23
241;
25