in reply to Generic accessor for inside-out objects...

my $eval_string = sprintf '$return_val = $%s_of{refaddr $self};', +$attr;

I suppose $%s_of{...} is just a typo.

Update: Never mind, completely missed sprintf() there.