Well, you can use: @{$self}{keys %{$tn}}= \( @{$tn}{keys %{$tn}} ); and then changing ${$self->{some_key_from_tn}} will also change $self->{tn}->{some_key_from_tn}. This can be nice if you have a generic accessor methods (perhaps autoloaded) that could just check if the value is a scalar reference and set/get the referenced scalar in such cases.
Although the guts of Perl support having two hash values be aliases of each other (AFAICT), the language doesn't provide a way of achieving that (AFAICT). So I suppose you could write some XS code to do what you want.
So you might be better off doing what davorg suggested. However, even if I went with the accessor route, I'd just have the "fetch" part get the attribute from the contained object rather than keeping two copies in sync.
- tye (but my friends call me "Tye")In reply to (tye)Re: Maintaining Contained Object Attributes
by tye
in thread Maintaining Contained Object Attributes
by giulienk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |