http://www.perlmonks.org?node_id=996887

zing has asked for the wisdom of the Perl Monks concerning the following question:

I have two arrays having the connection information "from -->to" {@a=(a,b,d) , @b=(c,c,e)} The following code finds the connected components based on the content of these two arrays.
Code my @a=qw(a b d); my @b=qw(c c e); my $g = Graph->new( undirected => 1 ); for (my $r = 0; $r <= 2; $r++) { $g->add_edge($a[$r], $b[$r]); } my @subgraphs = $g->connected_components; my $V = $g->vertices; print "\n$V\n"; print "----connected components------------"; use YAML; print Dump \@subgraphs;
------------OUTPUT----------------------
5 ----connected components--------------- - - c - a - b - - e - d
My question is how do I access only one of the connected components? I.e. either C-A-B or D-E . Also how do I find the total number of connected components.