use Graph::Directed; my $net = new Graph::Directed; # populate with $net->add_vertex(), $net->add_edge(), # $net->add_edges(), $net->add_path() my $tc = $net->TransitiveClosure_Floyd_Warshall;