in reply to Hash Autovivification Weirdness

Yeah, that's really weird because your last example and the one numbered 8 produce practically identical output from B::Concise.

--- /tmp/zsh6abfoh 2006-04-20 19:38:44.000000000 -0400 +++ /tmp/zshlFtUff 2006-04-20 19:38:44.000000000 -0400 @@ -1,6 +1,6 @@ j <@> leave[1 ref] vKP/REFC ->(end) 1 <0> enter ->2 -2 <;> nextstate(main 4 selfassign:6) v ->3 +2 <;> nextstate(main 4 1assign:6) v ->3 9 <1> entersub[t3] vKS/TARG,1 ->a - <1> ex-list K ->9 3 <0> pushmark s ->4 @@ -10,7 +10,7 @@ 6 <$> const[PV "a"] s ->7 - <1> ex-rv2cv sK/1 ->- 8 <#> gv[*foo] s ->9 -a <;> nextstate(main 4 selfassign:7) v ->b +a <;> nextstate(main 4 1assign:7) v ->b i <@> print vK ->j b <0> pushmark s ->c - <1> null lK/1 ->i $ diff {1,self}assign 3c3 < $_=1; --- > $_=$_;

The only difference appears to be the filename. Really weird.