use strict; use GraphViz; use XML::Twig; use List::Util qw/ max /; my @profile; for () { chomp; push @profile, [split /\s+/]; } push @profile, [undef, 'end']; my $max = max( map {$_->[0]} @profile ); my $g = GraphViz->new(); for my $i (0..($#profile-1)) { my $w1 = ($profile[$i][0])/$max ; my $w2 = 1-$w1/2; my $color = "$w1,$w2,$w2"; $g->add_node($profile[$i][1], fontcolor => $color, color => $color); $g->add_node($profile[$i+1][1]); $g->add_edge($profile[$i][1] => $profile[$i+1][1], label => $profile[$i][0], color => $color, fontcolor => $color); } $g->as_jpeg("profile.jpg"); # millisec sub __DATA__ 1 fetchXML 2 preprocessXML 5 generateReport 1 randomThreat 6 generateReport 2 sendemail