in reply to Perl/Tk: recursive "after" method issue
The reason this is happenening is that after isn't recursive. What calling after does is tell the Tk MainLoop, once it next receives control, to run the specified subroutine after the specified amount of time. That is to say, when your _after sub is called the second time, the first iteration has already completed, having printed the value "1", and so on.