in reply to Enter Key focus is not happening

You should wrap your code in a code block, so we don't have to reconstruct your code. See Writeup Formatting Tips

Your code, as you wrote above in html, is missing all the brackets needed to specify array elements. The code I believe you meant to post, as reconstructed by me, is shown below. I had to remove your resizable and geometry lines to get the Entries to show up, and I made the bg color white on the Entries for ease of visibility.

As far as getting focus to shift the way you want, I'm stumped, maybe a smarter monk may know. It may be in the way Table is designed. An alternative would be to use TableMatrix, see the second code example below.

Your corrected, runnable code:

#!/usr/bin/perl use Tk; use Tk::Entry; use Tk::Table; use Tk::LabFrame; use warnings; use strict; my $v="0.00"; my $mw = MainWindow->new; #$mw->geometry("200x200"); #$mw->resizable(0,0); $mw->title("Table Example"); my @id=qw/100 101 102 103 104 105 106 107 108 109 110/; my @name=qw/AAA BBB CCC DDD EEE FFF GGG HHH III JJJ KKK/; my @top2=qw/No Name Amount/; my $table_frame = $mw->LabFrame()->pack(); my $table = $table_frame->Table(-columns => 10, -rows => 6, -fixedrows => 1, -scrollbars => 'oe', -relief => 'raised',-background=>'white'); my $j=0; my $i=0; foreach my $j(1..11) { my $tmp_label=$table->Label(-text => $id[$i], -width => 8, -relief =>'raised'); my $tmp_label1 = $table->Label(-text => $name[$i], -width => 8, -relief =>'raised'); my $tmp_label2= $table->Entry( -width => 8, -relief =>'raised', -bg => 'white', -validate=>'key',-validatecommand=>sub{ $_[1] =~m/\d\d/} , -invalidcommand=>sub{$mw->bell} ); $tmp_label2->bind('Tk::Entry','<Return>',sub{shift->focusNext}); $table->put($j,1,$tmp_label); $table->put($j,2,$tmp_label1); $table->put($j,3,$tmp_label2); $i++; } $table->pack(); my $button_frame = $mw->Frame( -borderwidth => 4 )->pack(); $button_frame->Button(-text => "Exit", -command => sub {exit})->pack() +; MainLoop;

An alternative using TableMatrix, in which focus is passed the way you want by tabbing:

#!/usr/bin/perl use Tk; use Tk::TableMatrix; use warnings; use strict; my $mw = MainWindow->new; my $table = $mw->Scrolled("TableMatrix", -resizeborders=>'both', -titlerows => 1, -rows => 20, -colstretchmode=>'all', -cols => 3, -cache => 1, -scrollbars => "osoe"); for(my $row = 1; $row < 20; $row++) { my $entry = $table->Entry(-bg=>'white'); $table->windowConfigure("$row,5", -window => $entry); } $table->set("0,0", "Col 1"); $table->set("0,1", "Col 2"); $table->set("0,2", "Col 3"); $table->set("0,3", "Col 4"); $table->set("0,4", "Col 5"); $table->pack(-expand => 1, -fill => 'both'); MainLoop;

I'm not really a human, but I play one on earth.
Old Perl Programmer Haiku ................... flash japh