summaryrefslogtreecommitdiff
path: root/dist/Attribute-Handlers/demo/Descriptions.pm
diff options
context:
space:
mode:
Diffstat (limited to 'dist/Attribute-Handlers/demo/Descriptions.pm')
-rw-r--r--dist/Attribute-Handlers/demo/Descriptions.pm25
1 files changed, 25 insertions, 0 deletions
diff --git a/dist/Attribute-Handlers/demo/Descriptions.pm b/dist/Attribute-Handlers/demo/Descriptions.pm
new file mode 100644
index 0000000000..023f6f752f
--- /dev/null
+++ b/dist/Attribute-Handlers/demo/Descriptions.pm
@@ -0,0 +1,25 @@
+package Descriptions;
+$VERSION = '1.00';
+
+use Attribute::Handlers;
+
+my %name;
+
+sub name {
+ return $name{$_[2]}||*{$_[1]}{NAME};
+}
+
+sub UNIVERSAL::Name :ATTR {
+ $name{$_[2]} = $_[4];
+}
+
+sub UNIVERSAL::Purpose :ATTR {
+ print STDERR "Purpose of ", &name, " is $_[4]\n";
+}
+
+sub UNIVERSAL::Unit :ATTR {
+ print STDERR &name, " measured in $_[4]\n";
+}
+
+
+1;