readey has asked for the wisdom of the Perl Monks concerning the following question:

Dear Monks, First, Happy New Year to Everyone! I have been trying to write a simple two button ISP connector for my partner, so she can access the internet quickly and easily. That bit is easy, a nice MainWindow with two buttons "Connect" and "Disconnnect". The problem I am having is trying to constantly update an Entry widget with the time elapsed during the connection - just a nicety to be sure. I can access the pppd start-time with Proc::ProcessTable and I have written a measly little module that takes the start-time, the current time and calculates the elapsed time. I can update the Entry's textvariable once with something like;
$msg = $e->CalcElapsed($start, $current);
Can someone tell me if it is possible to constantly call this function and update the Entry without causing the Tk MainLoop to hang? I have tried using a while loop and , of course in retrospect, the main program hangs because it is locked in the loop, and $msg is not constantly updated anyway. Incidentally, if you print $msg to SDOUT instead of updating $msg, everything works OK.
Many Thanks,
readey

Replies are listed 'Best First'.
(crazyinsomniac) Re: Constantly updating an Entry in p/Tk
by crazyinsomniac (Prior) on Jan 02, 2002 at 15:20 UTC
      crazyinsomniac
      Many thanks.
      Me thinks that if Tk::After had been called Tk::Repeat I might have spotted it while trawling through the manual.
      Anyways your example is great, thanks for giving me your time. readey.