http://www.perlmonks.org?node_id=1065786


in reply to Parsing a Tree to a Table.

Why is the question on hold at SO? Looks like someones homework alright, but to reverse tree visualisation is a valid problem and potentially useful to someone. Anyway, I hoped there would be some extra neat solution, then spent ten minutes correcting one silly mistake after another. Almost a one-liner:

#! /usr/bin/perl -ln /\|\s*$/ or /.*?--(-?)|/, splice(@a,$+[0]/3), $1 ? print join "\t", @a +[0..2], $' : push @a, $';

Replies are listed 'Best First'.
Re^2: Parsing a Tree to a Table.
by choroba (Cardinal) on Dec 10, 2013 at 01:34 UTC
    If I understand it correctly, it only works for the trees of depth 4, right?
    لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ
      Well, it prints as it goes, so prior knowledge of max depth is needed. (Adding this as option is trivial.)

      Note that the problem description shows four output columns, and mentions large data.