in reply to Re: Swiching between output to file and STDOUT
in thread Switching between output to file and STDOUT

It isn't a bug. 3-arg open is the magicless form of the call, and is exactly what you should use when you *do* want to open a file named "-". It's a bit safer in other places too, because it doesn't make pipes of '|' characters. "../" still goes up a dir, though.