It looks like your script might be pretty long. Please try removing a bunch of stuff from it so that you can reduce your script to a simple test case. You may figure out your problem between now and then, but if you end up with a very small script that still exhibits this problem, please post it in this thread.
What you're describing doesn't make a lot of sense, unfortunately. I suspect there's something else going on. There should be no reason a space in this fashion should affect whether or not your output gets written.
Be sure, though, that if you're writing to a file that you're checking the file's contents only after your script closes the filehandle. Buffering may delay the actual writing of data to a file until it's closed.