you're right it does sound's like homework but is has passed quite some time since i last attended any real classes. so what i tried so far is through recursion catch the pattern to transform it to the nice tree :
use strict;
open (T, "<", "file.txt")|| die "$!";
open (OUT, ">", "out.txt") || die "$!";
my $t = $ARGV[0];# $t could be 3 not 1 so that i can start from that p
+oint
my %hash;
while (<T>){
m/^(\d+?),(\d+?)\n/g;
my ($child, $parent) = ($2,$1);
push @{$hash{$child}},$parent;
}
walk($t);
sub walk {
my $numb = shift;
print OUT "\|->$numb\n";
#my @walk = $numb;
for (@{$hash{$numb}}){
#push @walk,
#print OUTNOD "\|->>>";
walk($_);
print OUTNOD "\|->>";
}
#return @walk;
}
there are some relict's in the code but that is because i'm still trying to figure it out. |