CGI::Session と YAML::Syck

CGI::Session の 4.13 が出ていたのでインストールしようとしたところ,テストでエラーが発生してうまくインストールできませんでした。なんでだろう〜とあれこれ試していたところ,どうも serializer を YAML::Syck 0.41 にしたあたりでエラーが出ています。
テスト用のソースツリーの CGI::Session::Serialize::yaml に細工を加えて,freeze() 前に画面にダンプするようにしたところ,

--- 
(中略)
overloaded_object: !perl/OverloadedObjectClass 
str_value: ABCDEFG
simple_object: !perl/@SimpleObjectClass 
(後略)

str_value のとこのインデントがおかしいです。

YAML::Syck に,

Loading self-referencial data structures is currently broken.

と述べられているように,YAML::Syck の循環参照のバグが原因みたいです*1。「Loading だけちゃうやん」と http://rt.cpan.org/Public/Bug/Display.html?id=18572 でつっこまれていますが。

一応 YAML::Syck の仕様ということで,test を書き換えてと CGI::Session の Author に言った方がいいのかなぁ。

*1:0.41 の Changes には「ちゃんとダンプするようにした」と書いてはあるんですが