in reply to Re: Death to Dot Deref
in thread Death to Dot Deref

This auto-deref seems to be a good thing. C++ compilers could do it, but in C-language school of leaving it up to the programmer to say what they mean, and mean what they say, they won't.

It would seem that under Perl 6, if a hash-type reference is made to what is a hash-ref, then it dereferences automatically, which enables the equivalence:
my $foo = {}; $foo{x} = "Bar"; # Auto-dereference $foo->{x} = "Bar"; # Manual dereference
This sort of behaviour already occurs after the variable is resolved, as in:
$foo->{y}->{z} = "Zoinks"; print "$foo->{y}{z}"; # Perl5 Auto-dereference
Under C/C++, there is a huge difference between an object reference, an object pointer, and a stack object. In Perl, though, you could hardly care less where the object is as Perl should be able to figure it out for you.

From a point of style, though, I would have to agree with srawls in that using '.' with hash or list variables is a bit wacky. It makes a lot more sense when used with object references.