Search notes:

Perl module Tree::Parser

Tree::Parser can be used to parse text with a »tree structure« and create a Tree::Simple object from it.
#!/usr/bin/perl
use warnings;
use strict;
use feature 'say';

use Tree::Parser;
my $text = join "", <DATA>;

my $tree_parser = Tree::Parser->new($text);

# Each level has an indentation of two spaces:
my $space_indent = 2;
$tree_parser->useSpaceIndentedFilters($space_indent);

my $tree = $tree_parser->parse();
say ref($tree);
# Tree::Simple

$tree->traverse(sub {
  my $node = shift;
  say ('. ' x $node->getDepth() . $node->getNodeValue()); 
});



__DATA__
AAA
  A1
    a11
    a12
      a_1_2_1
  A2
    a21
BBB
  B1
  B2
  B3
    b31
    b32
      b_3_2_1
      b_3_2_2
    b33
CCC
DDD
  D1
    d01
EEE
  E1
  E2
    e21
    e22
      e_2_2_1
      e_2_2_2
      e_2_2_3
    e23
  E3
  E4
Github repository PerlModules, path: /Tree/Parser/script.pl

See also

Perl modules

Index