in reply to Apache::Session help storing a complex data structure

Did you try other serializers?

Apache::Session::Flex allows you to choose other serializers (such as Apache::Session::Serialize::YAML) that may perhaps be able to work with trees.

Update: Using ikegami's script but replacing Storable with YAML seems to work:

use strict; use warnings; use Tree qw( ); use YAML qw( Dump Load ); use Data::Dumper qw( Dumper ); my $tree = Tree->new( 'root' ); my $child = Tree->new( 'child' ); $tree->add_child( $child ); print(Dumper(Load(Dump($tree))));
Output:
$VAR1 = bless( { '_parent' => \undef, '_value' => 'root', '_children' => [ bless( { '_parent' => $VAR1, '_value' => 'child', '_children' => [], '_meta' => {}, '_depth' => '1', '_error_handler' => sub { " +DUMMY" }, '_width' => '1', '_handlers' => { 'value' => + [], 'add_child +' => [], 'remove_ch +ild' => [] }, '_root' => $VAR1, '_height' => '1', '_last_error' => undef }, 'Tree' ) ], '_meta' => {}, '_depth' => '0', '_error_handler' => $VAR1->{'_children'}[0]{'_error_h +andler'}, '_width' => '1', '_handlers' => { 'value' => [], 'add_child' => [], 'remove_child' => [] }, '_root' => $VAR1, '_height' => '2', '_last_error' => undef }, 'Tree' );

CountZero

A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

Replies are listed 'Best First'.
Re^2: Apache::Session help storing a complex data structure
by B-A-T (Novice) on Jan 05, 2009 at 20:18 UTC
    no it dint work ! :( But a little improvement the other variables(name, timestamp) are stored normally, only the tree is not being written. :|

    ..