in reply to How to pass parameter to a subroutine?

An approach very similar to stevieb's solution except:

use strict; use warnings; use Tk; my @frames; my $mw = MainWindow->new( -bg=> '#606060', -borderwidth=> 0); my $size = 40; my $y = 0; my $x = 0; my $h = 3*$size; for my $j (0 .. 15) { my $x = 0; my $w = 3*$size; for my $i (0 .. 15) { $frames[$i][$j] = $mw->Button( -text => ' ', -bg => "#60C8BC", + -fg => "#000000", -borderwidth => 1, -anchor => 'w', ); $frames[$i][$j]->bind('<Button-1>' => [ '::ToggleBox', $i, $j +] ); # bind to callback $frames[$i][$j]->place( -y=>$y, -x=>$x, -width=>$w, -height=>$ +h ); $x = $x + $w; $w = $size; $x = $x+2 if ($i % 5 == 0); } $y = $y + $h; $h = $size; $y = $y+2 if ($j % 5 == 0); } MainLoop; exit; sub ToggleBox { my $self = shift; my ($jj, $ii) = @_; print "$jj, $ii\n"; }


Give a man a fish:  <%-{-{-{-<