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 には「ちゃんとダンプするようにした」と書いてはあるんですが