Hi BrowserUk, thanks for your reply. I was under the impression that entering MainLoop put Perl/Tk into a state of waiting for and handling user interaction, such as clicking a button on a dialog. This is not what I want to do at this point in my program: I want Perl to display a message (one which doesn't disappear), invoke an external program (the scanner program), then carry on processing (without user interaction) once the external program has been closed by the user. Sounds a simple sequence of events, but I'm beginning to think that Perl can't handle it.
Do feel free to correct me if you still think MainLoop is appropriate here. Any pointers to specific documentation other than "RTFM" would be appreciated.