use strict; use warnings; use DBIx::Tree::NestedSet; use DBI; my $dbh = DBI->connect('DBI:mysql:test','root','') or die ($DBI::errstr); my $tree = DBIx::Tree::NestedSet->new( dbh => $dbh, no_locking => 1, table_name => 'db_tree' ); $dbh->do("DELETE from db_tree"); #we can't have more "top" categories, so we create "main" $tree->add_child_to_right( name=>'main' ); while () { chomp; my $hr; for my $item ( split '/' ) { $hr->{last_id} = $tree->add_child_to_right( name => $item, id => $hr->{last_id} ); } } print "\nThe Complete Tree:\n"; print $tree->create_report(); __DATA__ foo/bar bar/foo foo/bar/foo