Maybe Data::Diver does what you want?
In reply to Re: Object attribute follower by Corion in thread Object attribute follower by CSmatthieu