Hi choroba, you've lost me a bit here. thundergnat suggested I run the external program with 'start', which I believe puts the program into the background on Windows. As I replied to his post, doing this means that Perl doesn't wait for the external program to finish, but steams on regardless. That is no good to me.
It would be nice if there were some way of making Perl wait. You say "make its finish an event". That sounds promising, except that I haven't a clue how to translate that into code. Surely we're hampered here by the fact that Windows doesn't have a readily accessible process table, so I can't do things like 'system ("ps", ...)'?
One thing that's occurred to me is that I could try a 'fork' call for the external process, combined with 'waitpid'. These, I understand, are emulated on Windows by Perl. It just seems a bit of a sledgehammer to crack this nut, but at the rate this thing is going, I will have to try it.