http://www.perlmonks.org?node_id=1001367


in reply to Wrong dereference => Out of memory

Well, I can’t answer your question, sorry :-(.

But I can confirm that, whatever was going on in version 5.8.8 (which I don’t have), was fixed by version 5.10.1:

0:39 >perl -e " my $a = [ { test => { val => 1 } }, { test => { val = +> 2 } } ]; print $a->{test}->{val}, qq[\n] " Not a HASH reference at -e line 1. 0:39 >

Hope that is of some help,

Athanasius <°(((><contra mundum

Replies are listed 'Best First'.
Re^2: Wrong dereference => Out of memory
by pokki (Monk) on Oct 29, 2012 at 15:11 UTC

    It looks like pseudo-hashes to me?

    My best guess is that $a->{test} out-of-memories because there are two test fields, which is not supposed to happen in pseudo-hashes because... uh... everybody's super extra careful all the time, right?

    Anyway, they were promptly deprecated and then removed by 5.10.0, so that would be why you get a normal error message and the OP doesn't.

    EDIT: an Anonymous Monk explains the same thing with many more details a couple posts down.