1package MyBase; 2use Test::More 'no_plan'; 3 4sub MODIFY_HASH_ATTRIBUTES { 5 my ($package, $referent, @attrs) = @_; 6 for my $attr (@attrs) { 7 if ($attr =~ /Loud/) { 8 $referent->{Loud} = 1; 9 } 10 undef $attr 11 } 12 return grep {defined} @attrs; 13} 14 15use Class::Std; 16{ 17 my %name_of :ATTR( :name<name> ) :Loud; 18 19 sub verify { 20 my ($self) = @_; 21 is $name_of{ident $self}, "mha_test" => ':ATTR handled correctly'; 22 is $name_of{Loud}, 1 => ':Loud handled correctly'; 23 } 24} 25 26package main; 27 28my $obj = MyBase->new({name=>'mha_test'}); 29 30$obj->verify(); 31 32