>>417 自己レス
ary2 = $Person_ary[0..-1]
go(ary2)

このgoが再帰関数になっていて、引数に配列を渡していくから、
ずっと同じ配列をいじくっているのかな?

ary2 = $Person_ary[0..-1]

でもこの文で、すべての要素がコピーされて、
ary2と$Person_aryは、別々のオブジェクトにならないの?