sub { if ( @_ == 1 ) { $_[0]->{$name} # this was initially $_[0]{$name} } else { $_[0]->{$name} == $_[1]; # initially $_[0]{$name} = $_[1]; } }