I've stumbled upon this several times now and every single time it drove me crazy until I found the annoying behaviour of zsh being the reason of why those stupid (usually perl-)scripts gave no output:
echo -n wurstAlthough it will actually output «wurst» it will start printing the prompt from the beginning of the current line afterwards. This will of course overwrite your output which subsequently will never be seen.
Now you usually write a newline at the end of your output and are not effected by this. But so often have I
print "[debug]" somewhere in a script and went totally nuts trying to
find the error why it won't even run far enough to print that line and neither prints output nor any error
Usually I repeatedly move this print-line further and further to the top of the to-be-debugged script and then, finally, remember why it does not seem to work even if I write the debug message as first command... grrrr, zsh$!(@#
Edit: Hahahaha: just a couple of minutes after I wrote this entry I had the same problem again and didn't notice for sooo long..
Edit_2: It seems that zsh >= 4.3 has got rid of this problem and continues to write the prompt after the output, the same way as bash does it.