in reply to Updating a GUI with tail???

Try man Tk::fileevent:
With fileevent, the process can tell when data is present and only invoke gets or read when they won't block