Joel, this definitely is *not* ruby-related, for I have seen similar anomalies with perl and python. Apparently, when Windows relies on a script's extension to guess which interpreter to run it through, it doesn't properly take IO redirection into account. You can circumvent this with a small, "driver" batch file, though: ----file mytest.rb---- print "foo\n" ----file mytest.bat---- @echo off ruby.exe mytest.rb %1 %2 %3 %4 %5 -------------------- C:\TEMP> mytest.bat > mytest.out C:\TEMP> type mytest.out foo > Why would 'test.rb' and 'ruby test.rb' behave differently? Something I > don't understand about DOS (very possible :) ? Well, neither do I! Hope this helps, Bernard. PS: the above holds true on NT4, but I just checked on Win2000, to discover that the problem simply does not exist on this platform. Ah, finally a compelling reason to upgrade: the Redmontians fixed their command-line interpreter!