This code is a start. It needs some playing with, still.

#!/usr/bin/perl

use strict;
use warnings;

use Data::Dumper;

open my $FH, "< t" or die;

my %root = ();
my $depth = 0;
my $curNode = \%root;

while ( my $line = <$FH> )
{
    chomp $line;
    $line =~ /^(\s*)/;
    my $leadingSpace = length $1;

    if ( $line =~ /^\s+\\==\+(.*) :$/ ) {
        my $nodeName = $1;
        $curNode->{ $nodeName }{ '__PARENT__' } = $curNode;
        $curNode = $curNode->{ $nodeName };
    } elsif ( $line  =~ /^\s+\|----([^.]+)\.+([^.]+)$/ ) {
        $curNode->{ $1 } = $2;
    }
}

print Dumper ( \%root );

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to