<?xml version="1.0" encoding="windows-1252"?>
<node id="990979" title="Re^3: Clearing anonymous Tk widgets" created="2012-08-31 06:51:12" updated="2012-08-31 06:51:12">
<type id="11">
note</type>
<author id="961">
Anonymous Monk</author>
<data>
<field name="doctext">
&lt;p&gt; Play with this &lt;c&gt;#!/usr/bin/perl --
use strict; use warnings;
use Tk;
use Tk::WidgetDump;
use Tk::ObjScanner;
my %ons;
my $mw = tkinit();
for (1 .. 3) {
    my $goner = $_;
    $ons{$_} = $mw-&gt;Button(
        -text =&gt; "B $_",
        -command =&gt; sub {
            delete($ons{$goner})-&gt;destroy; ## this works, proper closure
#~             delete($ons{$_})-&gt;destroy; ## this doesnt, $_ is alias
        }
    )-&gt;pack;
}
$mw-&gt;WidgetDump; ## before scan_object
Tk::ObjScanner::scan_object( { mw =&gt; $mw, ons =&gt; \%ons } ); ## after WidgetDump
MainLoop();

&lt;/c&gt;</field>
<field name="root_node">
990930</field>
<field name="parent_node">
990966</field>
<field name="reputation">
4</field>
</data>
</node>
