Graph::AdjacencyMatrix is a Perl module that allows you to create and query the adjacency matrix of graph G.
use Graph::Directed; # or Undirected
my $g = Graph::Directed->new;
$g->add_...(); # build $g
my $am = Graph::AdjacencyMatrix->new($g);
my $am = Graph::AdjacencyMatrix->new($g, distance_matrix => 1);
my $am = Graph::AdjacencyMatrix->new($g, attribute_name => 'length');
my $am = Graph::AdjacencyMatrix->new($g, ...);
my @V = $am->vertices();
You can use Graph::AdjacencyMatrix to compute the adjacency matrix and optionally also the distance matrix of a graph, and after that query the adjacencyness between vertices by using the is_adjacent() method, or query the distance between vertices by using the distance() method.
By default the edge attribute used for distance is w, but you can change that in new(), see below.
If you modify the graph after creating the adjacency matrix of it, the adjacency matrix and the distance matrix may become invalid