sub explorenode { my ( $node, $rows, $left, $id ) = @_; my $i = $id; my $l = $left; for ( 2 .. $#$node ) { $id++; $left++; explorenode( $node->[$_], $rows, $left, $id ); $id++; $left++; } $left++; push( @$rows, [ $i, $l, $left, $node->[0], $node->[1] ] ); }