use strict; use warnings; use Tk; ... my $mainw = new MainWindow(-title => "TK Scrip-Starter"); ... # create buttons my @btn; for (my $i = 0; $i < @subs; $i++) { print "--> $subs[$i]\n"; $btn[$i] = $mainw->Button(-text => 'sub "'.$subs[$i].'" ('.$i.')', -anchor => 'w', -command => sub { print "-".$subs[$i]."-".$i."\n"; }, ) ->pack(); } # for ... MainLoop;