in reply to Tk sub calling problem

In addition to updating the screen, which you can sprinkle liberally through your code if need be, you may also want to consider linking your textbox or label to a variable (a global works well in this case-- and since it's a GUI that's probably OK) rather than hardcoding the text in with configure.

my $Status = 'Starting application'; my $label = $main->label( -textvariable => \$Status ); $Status = 'Done loading application';

You may still have to update the window to get changes in $Status to appear, but it will make updating a status bar a lot simpler to type.