循環参照を見つけるにはDevel::Cycleとかいかがでしょ

循環参照を見つけるにはDevel::Cycleとかいかがでしょ

 1年ほど前に循環参照にハマって大変でした*1

http://d.hatena.ne.jp/naoya/20051012/1129115986

http://blog.livedoor.jp/dankogai/archives/50142945.html

http://blog.livedoor.jp/dankogai/archives/50143441.html

 最初はScalar::Util::weakenを使って解決しようとしたんですがそれでも循環参照が残る部分があって、仕方がないのでデバッグにいい方法はないかと思ってCPANを漁ってて見つけたのがDevel::Cycle

 これで調べて一気に解決したという*2

*1:その時気付いたんだけど、前の会社のコードにも同じ問題が残ってるような気がしたけど、コードが無くて確かめられませんでした。もし残ってたらごめんなさい。

*2:ものすごく遠いトコで循環してて、そこを1か所断ち切ったら万事解決したのでした……。