From: Robert Klemme Date: 2006-12-14T07:10:06+09:00 Subject: Re: How to always write Windows style newlines to a file? On 13.12.2006 19:04, Daniel Berger wrote: > Wes Gamble wrote: >> I need to write a CSV file and I know that I always want Windows style >> newlines on it (for import into Excel). > > The line endings shouldn't matter. I write csv files on Linux systems > all the time, and open them with Excel without issue. > >> I want to make sure that every line is terminated with "\r\n" (CRLF) >> regardless of platform. How do I write the "\n" when the code executes >> on Windows without ending up with \r\r\n at the end of every line? > > If you still really want to do this, you can set $/ (record separator) > to "\r\n". You sure this works? $ ruby -e '$/="\r\n"; puts "foo", "bar"' | od -c 0000000 f o o \n b a r \n 0000010 Output record separator doesn't seem to help either: $ ruby -e '$\="\r\n"; puts "foo", "bar"' | od -c 0000000 f o o \n b a r \n 0000010 Explicit works: $ ruby -e 'print "foo\r\n", "bar"' | od -c 0000000 f o o \r \n b a r 0000010 $ ruby -v ruby 1.8.5 (2006-08-25) [i386-cygwin] Hm... Is this a bug in Ruby 1.8.5 or am I missing something? robert