package TestBed; $DB::single = 1; use Attribute::Handlers::Prospective; use Data::Dumper 'Dumper'; sub Attr : ATTR(CODE) { print 'Attr: ', Dumper \@_; } sub VarAttr : ATTR(CHECK,RUN,VAR) { tie ${$_[2]}, Loud; } sub Another_Attr : ATTR(ANY,RAWDATA) { print 'Another_Attr: ', Dumper \@_; } sub AUTOATTR : ATTR { print 'Default attribute handler: ', Dumper \@_; } sub PREATTR: ATTR { use Data::Dumper 'Dumper'; print "Pre: ", Dumper [ \@_ ]; } sub POSTATTR: ATTR { use Data::Dumper 'Dumper'; print "Post: ", Dumper [ \@_ ]; } package Loud; sub TIESCALAR { bless {} } sub STORE { print "<<>>\n" ; $_[0]{val} = $_[1] } sub FETCH { print "<<>>\n"; $_[0]{val} } 1; sub Ly: ATTR {}