1package TestBed; 2 3$DB::single = 1; 4 5use Attribute::Handlers::Prospective; 6 7use Data::Dumper 'Dumper'; 8 9sub Attr : ATTR(CODE) { 10 print 'Attr: ', Dumper \@_; 11} 12 13sub VarAttr : ATTR(CHECK,RUN,VAR) { 14 tie ${$_[2]}, Loud; 15} 16 17sub Another_Attr : ATTR(ANY,RAWDATA) { 18 print 'Another_Attr: ', Dumper \@_; 19} 20 21sub AUTOATTR : ATTR { 22 print 'Default attribute handler: ', Dumper \@_; 23} 24 25sub PREATTR: ATTR { 26 use Data::Dumper 'Dumper'; 27 print "Pre: ", Dumper [ \@_ ]; 28} 29 30sub POSTATTR: ATTR { 31 use Data::Dumper 'Dumper'; 32 print "Post: ", Dumper [ \@_ ]; 33} 34 35package Loud; 36 37sub TIESCALAR { bless {} } 38 39sub STORE { print "<<<STORING $_[1]>>>\n" ; $_[0]{val} = $_[1] } 40sub FETCH { print "<<<FETCHING>>>\n"; $_[0]{val} } 41 421; 43 44sub Ly: ATTR {} 45