in reply to Use of freed value

Ah, ikegami already posted the answer... in a ticket in the perl bug tracker dave_the_m(?) says
a (more or less unfixable) design flaw in perl's internals: the stack not being ref counted.

and shows this code example

%h = qw( a 1 b 2 ); f(%h); sub f { %h = qw(c 3); # uh oh :-( use Carp; Carp::confess(); } __END__ at /home/davem/tmp/p line 10. main::f("a", "", "b", 3) called at /home/davem/tmp/p line 5

which is akin to those ikegami posted.

For perl v5.26 the output is slightly different:

at baz.pl line 10. main::f("a", "", "b", "") called at baz.pl line 5

This might be due to other fixes than the underlying issue, which is still there.

perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'