in reply to Parsing a Tree to a Table.

just a convoluted tree prettyfication
use warnings; use strict; my @tab; while(my $l = readline (*DATA) ) { @{$tab[$.-1]}= split '',$l ; foreach my $i (0..$#{$tab[$.-1]}) { unless ($. == 1) { ${$tab[$.-1]}[$i] =~ s/\|/${$tab[$.-2]}[$i +]/g if defined ${$tab[$.-2]}[$i] } } } foreach my $row (@tab) { print @{$row}; } __DATA__ A | |--B | | | |--C | | | |---PQR | |---XYZ |--D | | | |---LMN |---XYZ X |---000

cya
L*
There are no rules, there are no thumbs..
Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.