my $hideLetter; my $restoreLetter; { my $prevColor; $hideLetter = sub { $prevColor = ($_[0]->itemconfigure(qw(current -fill)))[4]; $_[0]->itemconfigure(qw(current -fill black)); }; $restoreLetter = sub { $_[0]->itemconfigure(qw(current -fill), $prevColor); }; } my $mainWindow = MainWindow->new( qw(-title jAPH) ); my $canvas = $mainWindow->Canvas(-width => '10c', -height => '4.25c', -relief => 'sunken', -borderwidth => 2); $canvas->createLine( [qw(2c 1c 3c 1c 2.5c 1c 2.5c 1c 2.5c 3c 2.25c 3.25c 2c 3c)], -width => '.375c', -cap => 'round', -join => 'round', -tags => 'i', -fill => 'blue'); $canvas->createLine( [qw(3.5c 3.25c 4c 1c 4.5c 3.25c 4.25c 2.125c 3.75c 2.125c)], -width => '.375c', -cap => 'round', -join => 'round', -tags => 'i', -fill => 'red'); $canvas->createLine( [qw(5.25c 3.25c 5.25c 1c 5.75c 1c 6.25c 1.5c 5.75c 2c 5.5c 2.125c 5.25c 2.125c)], -width => '.375c', -cap => 'round', -join => 'round', -tags => 'i', -fill => 'green'); $canvas->createLine( [qw(7c 1c 7c 3.25c 7c 2.125c 7c 2.125c 8c 2.125c 8c 1c 8c 1c 8c 3.25c)], -width => '.375c', -cap => 'round', -join => 'round', -tags => 'i', -fill => 'yellow'); $canvas->bind( 'i', "", [ \&$hideLetter ] ); $canvas->bind( 'i', "", [ \&$restoreLetter ] ); $canvas->pack( -expand => 'yes', -fill => 'both' ); MainLoop();