Map-Tube-GraphViz
view release on metacpan or search on metacpan
GraphViz.pm view on Meta::CPAN
# Get graph.
sub graph {
my ($self, $output_file) = @_;
my $node_cache_hr = {};
foreach my $node (values %{$self->{'tube'}->nodes}) {
$self->{'callback_node'}->($self, $node);
$node_cache_hr->{$node->id} = $node;
}
my @processed;
foreach my $node (values %{$self->{'tube'}->nodes}) {
foreach my $link (split m/,/ms, $node->link) {
if (none {
($_->[0] eq $node->id && $_->[1] eq $link)
||
($_->[0] eq $link && $_->[1] eq $node->id)
} @processed) {
# Skip link to myself.
my $link_node = $node_cache_hr->{$link};
if ($self->{'callback_node_id'}->($self, $node)
ne $self->{'callback_node_id'}
( run in 0.660 second using v1.01-cache-2.11-cpan-71847e10f99 )