in reply to how to use attributes?

You can set arbitrary attributes, but you must support them in your class. To get on track, add this early in your class definition:
sub MODIFY_CODE_ATTRIBUTES { print "called with (@_)\n"; return }
You can read more about it in attributes, section Package-specific Attribute Handling

Anno