{ package foo; use Tie::IxHash; tie(my %h, 'Tie::IxHash', qw(one two three four)); sub new { bless { val => \%h } } sub val : lvalue { $_[0]->{val}->{one} } } use Data::Dumper; my $obj = foo->new; print Dumper( $obj ); __output__ $VAR1 = bless( { 'val' => { 'one' => 'two', 'three' => 'four' } }, 'foo' );