Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

forest::tree::builder::simpletextfile(3pm) [debian man page]

Forest::Tree::Builder::SimpleTextFile(3pm)		User Contributed Perl Documentation		Forest::Tree::Builder::SimpleTextFile(3pm)

NAME
Forest::Tree::Builder::SimpleTextFile - Parse trees from indented ASCII files SYNOPSIS
use Path::Class; my $file = file($path); my $builder = Forest::Tree::Builder::SimpleTextFile->new( fh => $file->openr, ); my $tree = $builder->tree; DESCRIPTION
This module replaces Forest::Tree::Reader::SimpleTextFile with a declarative api instead of an imperative one. ATTRIBUTES
fh The filehandle to read from. Required. parser A coderef that parses a single line from "fh" and returns the node depth and its value. Defaults to space indented text. See also "tab_width". tab_width The indentation level for the default parser. Defaults to 4, which means that four spaces equate to one level of nesting. BUGS
All complex software has bugs lurking in it, and this module is no exception. If you find a bug please either email me, or add the bug to cpan-RT. AUTHOR
Yuval Kogman COPYRIGHT AND LICENSE
Copyright 2008-2010 Infinity Interactive, Inc. <http://www.iinteractive.com> This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.10.1 2010-09-27 Forest::Tree::Builder::SimpleTextFile(3pm)

Check Out this Related Man Page

Forest::Tree(3pm)					User Contributed Perl Documentation					 Forest::Tree(3pm)

NAME
Forest::Tree - An n-ary tree SYNOPSIS
use Forest::Tree; my $t = Forest::Tree->new( node => 1, children => [ Forest::Tree->new( node => 1.1, children => [ Forest::Tree->new(node => 1.1.1), Forest::Tree->new(node => 1.1.2), Forest::Tree->new(node => 1.1.3), ] ), Forest::Tree->new(node => 1.2), Forest::Tree->new( node => 1.3, children => [ Forest::Tree->new(node => 1.3.1), Forest::Tree->new(node => 1.3.2), ] ), ] ); $t->traverse(sub { my $t = shift; print((' ' x $t->depth) . ($t->node || 'undef') . " "); }); DESCRIPTION
This module is a basic n-ary tree, it provides most of the functionality of Tree::Simple, whatever is missing will be added eventually. This class inherits from Forest::Tree::Pure>, but all shared methods and attributes are documented in both classes. ATTRIBUTES
node uid parent parent _set_parent has_parent clear_parent children get_child_at ($index) Return the child at this position. (zero-base index) child_count Returns the number of children this tree has size size has_size clear_size height height has_height clear_height METHODS
is_root True if the current tree has no parent is_leaf True if the current tree has no children depth Return the depth of this tree. Root has a depth of -1 add_child ($child) add_children (@children) Add a new child. The $child must be a "Forest::Tree" insert_child_at ($index, $child) Insert a child at this position. (zero-base index) remove_child_at ($index) Remove the child at this position. (zero-base index) traverse (&func) Takes a reference to a subroutine and traverses the tree applying this subroutine to every descendant. siblings Returns an array reference of all siblings (not including us) to_pure_tree Invokes "reconstruct_with_class" with Forest::Tree::Pure. to_mutable_tree Returns the invocant (without cloning). clone See "clone" in Forest::Tree::Pure. This variant will not clone the parent, but return a clone of the subtree that is detached. get_index_in_siblings Returns the index of the tree in the list of children. Equivalent to calling "$tree-"parent->get_child_index($tree)>. Returns -1 if the node has no parent (the root node). BUGS
All complex software has bugs lurking in it, and this module is no exception. If you find a bug please either email me, or add the bug to cpan-RT. AUTHOR
Stevan Little <stevan.little@iinteractive.com> COPYRIGHT AND LICENSE
Copyright 2008-2010 Infinity Interactive, Inc. <http://www.iinteractive.com> This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.10.1 2010-09-27 Forest::Tree(3pm)
Man Page