#!perl -w -d use strict; use Tk; my $addy1 = '32'; my $addy2 = '42'; my $mw = MainWindow->new(); $mw->Entry( -textvariable => \$addy1, -width => 2, -validate => 'focusout', -validatecommand => sub{ # debugging, print the field. printf"<<%s>:%d\n", $_[0], $_[0] =~ /^[0-9a-f]{1,2}$/i; $_[0] =~ /^[0-9a-f]{1,2}$/i;}, -invalidcommand => sub{$mw->bell}, )->pack(-side => 'left'); # Need a field to go to so 'focusout' can happen. $mw->Entry( -textvariable => \$addy2, -width => 2, -validate => 'focusout', -validatecommand => sub{ # debugging, print the field. printf"<<%s>:%d\n", $_[0], $_[0] =~ /^[0-9a-f]{1,2}$/i; $_[0] =~ /^[0-9a-f]{1,2}$/i;}, -invalidcommand => sub{$mw->bell}, )->pack(-side => 'left'); MainLoop;