use Tk; use strict; use warnings; my $mw = new MainWindow; for my $r ( 0 .. 3 ) { for my $c ( 0 .. 3 ) { $mw->Button( -text => "B$r$c", -command => [ \&btn, $r, $c ] )->grid( -row => $r, -column => $c ); } } MainLoop; sub btn { warn "btn(@_)\n"; }