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