which gives a different error:
As it should. Like I said, it's a bug in Deparse.
An anonymous hash is the anonhash opcode.
$ perl -MO=Concise,-exec -e'{}' 1 <0> enter 2 <;> nextstate(main 1 -e:1) v:{ 3 <0> pushmark s 4 <@> anonhash vK* 5 <@> leave[1 ref] vKP/REFC -e syntax OK
Note the lack of anonhash in the code that's actually produced by tied sub {}->().
$ perl -MO=Concise,-exec -e'tied sub {}->()' 1 <0> enter 2 <;> nextstate(main 2 -e:1) v:{ 3 <0> pushmark s 4 <0> pushmark sRM 5 <$> anoncode[CV ] lRM 6 <1> refgen sK/1 7 <1> rv2cv sK/NO() 8 <1> entersub[t2] sKRMS/NO(),TARG,1 9 <1> tied vK/1 a <@> leave[1 ref] vKP/REFC -e syntax OK
Deparse is wrong to add an anon hash constructor. Therefore, trying to execute the output of Deparse makes no sense.
In reply to Re^3: tied, or modified?
by ikegami
in thread tied, or modified?
by JadeNB
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |