use Graph::Easy; my $graph = Graph::Easy->new(); # I think I got all the edges added below? $graph->add_edge(1,2); $graph->add_edge(2,5); $graph->add_edge(5,6); $graph->add_edge(6,7); $graph->add_edge(7,8); $graph->add_edge(8,9); $graph->add_edge(9,11); $graph->add_edge(8,10); $graph->add_edge(10,11); $graph->add_edge(1,4); $graph->add_edge(4,5); $graph->add_edge(1,3); $graph->add_edge(3,5); $graph->add_edge(1,7); print $graph->as_ascii; #### +-----------------------------+ | | | | | +-------------------+-------------------+ | | v v +---+ +---+ +---+ +---+ +---+ +---+ +---+ +----+ +----+ | 4 | <-- | | --> | 2 | --> | 5 | --> | 6 | --> | 7 | --> | 8 | --> | 10 | --> | 11 | +---+ | | +---+ +---+ +---+ +---+ +---+ +----+ +----+ | | ^ ^ | ^ | 1 | ------+ | | | | | | v | | | | +---+ | | | | | 9 | -----------------+ +---+ | +---+ | | | | v | +---+ | | 3 | ----------------+ +---+