in reply to lvalue trickery
sub val : lvalue { $_[0]->{val}->{one} } [download]
sub val : lvalue { $_[0]->{val}->{one} = undef unless exists $_[0]->{val}->{one}; $_[0]->{val}->{one}; } [download]