my $attach_frame = sub { my($color, $label) = @_; my $frame = $tab->Label(-bg => $color, -relief => 'sunken', width => 15); $balloon->attach($frame,-balloonmsg => $label); } if ($score eq "NoHit") { $attach_frame->('black', 'No Hits'); } else if($score == 0) { $attach_frame->('red', 'E = 0'); } else if($score < 1e-99) { #eh... nothing? } else if($score < 1e-90) { $attach_frame->('orange', '"1e-99 < E < 1e-90"'); } else if($score < 1e-80) { $attach_frame->('gold', '1e-90 < E < 1e-80'); } else if($score < 1e-70) { $attach_frame->('yellow', '1e-80 < E < 1e-70'); } else if($score < 1e-60) { $attach_frame->('chartreuse', '1e-70 < E < 1e-60'); } else if($score < 1e-50) { $attach_frame->('green', '1e-60 < E < 1e-50'); } else if($score < 1e-40) { $attach_frame->('turquoise', '1e-50 < E < 1e-40'); } else if($score < 1e-30) { $attach_frame->('blue', '1e-40 < E < 1e-30'); } else if($score < 1e-20) { $attach_frame->('pink', '1e-30 < E < 1e-20'); } else if($score < 1e-10) { $attach_frame->('purple', '1e-20 < E < 1e-10'); } else if($score < 1) { $attach_frame->('grey', '1e-10 < E < 1'); }