in reply to perl/Tk Entry validation

For some reason I cannot see at the moment, validation is turned off (probably related to this part of the documentation:
The validateCommand will turn itself off by setting validate to none when an error occurs, for example when the validateCommand or invalidCommand encounters an error in its script while evaluating, or validateCommand does not return a valid boolean value.
). An easy workaround is to reset the -validate in the invalidcommand:
#!/usr/bin/perl use warnings; use strict; use Tk; my $embCanvas = MainWindow->new; my $xVConsSflEmbMax0 = 1; my $xVConsSflEmbMax = $xVConsSflEmbMax0; my $emb1Entry = $embCanvas->Entry( -textvariable => \$xVConsSflEmbMax, -width => 3, -validate => 'focusout', -validatecommand => sub { warn "@_\n"; $_[0] =~ /^\d*\.?\d+$/ } +, -invalidcommand => \&invalid, )->pack; my $qb = $embCanvas->Button( -text => 'Quit', -command => sub { exit } )->pack; MainLoop(); sub invalid { $xVConsSflEmbMax = $xVConsSflEmbMax0; $emb1Entry->configure(-validate => 'focusout'); }