use strict; use warnings; use Tkx; my $mw = Tkx::widget -> new ('.'); $mw -> g_wm_iconify; my $Fkrs = $mw -> new_toplevel; my $fac = ''; my $Ffac = $Fkrs -> new_entry (-textvariable => \$fac, -width => 8); $Ffac -> g_grid (-row => 0, -column => 0, -sticky => 'ew'); $Ffac -> g_bind ('', [\&fac, \$fac, \$Ffac, \$Fkrs]); Tkx::update (); while (Tkx::i::call('winfo', 'exists', $Fkrs)) {Tkx::i::DoOneEvent(0)}; Tkx::update (); die "Normal end"; sub fac { my ($p_fac, $p_Ffac, $p_Fkrs) = @_; if ($$p_fac =~ /^(?=.+)\d*(\.\d+)?$/) { # I would like to use the break here!!; $$p_Fkrs -> g_destroy; } else { $$p_fac = ''; } }