I don't use windows, but if you are taking an input file and writing to an output file, you are better off running it in a separate thread. On linux, we usually call it "fork and exec", but on windows, its all done with threads. The reason is that system or exec will take control over your script until the program is done....whereas the following will let you launch it, and continue with the Perl program. Otherwise, why even run it from Perl?
Here are some nodes to show you
Running a process in the background
MS Forking Blues
They didn't give me a fork so I have to eat with a spawn.