sub once { my $obj = shift; my $w = $obj->[0]; my $id = $obj->[1]; print "[once] w <$w> \n"; delete $w->{_After_}{$id}; local $Tk::widget = $w; $obj->[4]->Call; }