in reply to Re: lvalue trickery
in thread lvalue trickery

You haven't stored anything in the hash yet, so $_[0]->{val}->{one} returns undef, which isn't an lvalue.
Erm ...
{ 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' );
I figured that the issue might be in the FETCH method of Tie::IxHash, but I thought that tied variables were meant to behave just like normal variables (in terms of interface at least), apparently not.

_________
broquaint