use strict; use warnings; use GraphViz; my $g = GraphViz->new(); for(){ my @p = ($_ =~ /v\d/g); for(1..$#p){ $g->add_edge($p[0] => $p[$_], color => 'grey'); } } my @h = qw/v7 v8 v6 v5 v4 v3 v2 v1/; for(1..$#h){ $g->add_edge($h[$_-1] => $h[$_], color => 'red'); } $g->as_jpeg("graphm.jpg"); __DATA__ v1: v2 v2: v1, v3, v4 v3: v2, v4 v4: v2, v3, v5 v5: v4, v6, v8 v6: v5, v7, v8 v7: v6, v8 v8: v5, v6, v7