&defineOrder(qw/$widget1 $lwidget2 $widget3/); sub defineOrder { for (my $i = 0; defined($_[$i+1]); $i++) { my $evalString = $_[$i]."->bind( '', sub { ".$_[$i+1]."->focus } );"; print "$evalString\n"; eval $evalString; print "$@\n" if $@; } }