sub defineOrder { my $widget; for (my $i=0; defined( $_[$i+1] ); $i++) { $_[$i]->bind( '', [\&focus, $_[$i+1]]); $_[$i]->bind( '', [\&focus, $_[$i+1]]); } # Uncomment this line if you want to wrap around $_[ $#_ ]->bind('', [\&focus, $_[0]]); $_[ $#_ ]->bind('', [\&focus, $_[0]]); $_[0]->focus; }