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 2.037 seconds using v1.01-cache-2.11-cpan-71847e10f99 )