This is really a TT issue, and I'll post to that list also, but I thought I'd send it here as well since it has a good chance of biting other CAP users, so it would be good to have it in the archives.

Using CGI::Session at the same time as Template::Plugin::Dumper can cause problems. The dumper plugin sets (among other things) $Data::Dumper::indent and $Data::Dumper::pad. Since CGI::Session stores session data only when the session object goes out of scope, the Dumper plugin has already set these values as global variables. Then along comes CGI::Session and and uses the globally altered Data::Dumper to serialize your data (if you are using default serialization). If you've used Dumper with something similar to the invocation suggested in the docs like below, your data is serialized with <br> tags included.

[% USE dumper(indent=0, pad="<br>") %]
[% dumper.dump(myvar, yourvar) %]

When you retrieve your session - boom!  You die with something like:

Error executing run mode 'session_retrieve': Failed to Create CGI::Session object :: Reason: new(): failed: load(): couldn't thaw() data using CGI::Session::Serialize::default ....

Anyway, it took me a while to figure out what was going on, so I thought I'd post it to the list so it's in the archives and under Google's all seeing eye.

Barry

#####  CGI::Application community mailing list  ################
##                                                            ##
##  To unsubscribe, or change your message delivery options,  ##
##  visit:  http://www.erlbaum.net/mailman/listinfo/cgiapp    ##
##                                                            ##
##  Web archive:   http://www.erlbaum.net/pipermail/cgiapp/   ##
##  Wiki:          http://cgiapp.erlbaum.net/                 ##
##                                                            ##
################################################################

Reply via email to