use Graph::Directed; my $g = Graph::Directed->new(); # Each pair is a pair of vertices qw|a b| indicating # a directed edge from a to b # graph: lineitem <-> invioce <-> claim <-> insurer $g->add_edges( qw| lineitem invoice invoice lineitem invoice claim insurer claim claim invoice claim insurer|); print "Strongly connected components: ", $g->strongly_connected_graph, "\n";