my $fctrEntry = $mw->Entry( -textvariable => \$factor, -validate => 'focus', -validatecommand => \&validate, #-invalidcommand => \&invalidate, -insertbackground => 'cyan', -selectforeground => 'white', -selectbackground => 'DarkRed', -highlightcolor => 'cyan', -background => 'black', -foreground => 'white')->grid( -row => $chartrow[2] + 2, -column => 32, -columnspan => 3, -sticky => 'new'); sub validate { my $val = shift; $val ||= "1.00"; if ($val !~ /^-?\d{1,2}\.\d\d$/ or $val < -10 or $val > 10) { print "Bad! "; return 0; } else { print "Good! "; return 1; } } sub invalidate { $factor = sprintf("%.2f", $_[0]); print "Validate! $factor "; }