From: Gennady Date: 2003-08-27T03:25:53+09:00 Subject: Re: Help! redirecting stderr 1.6.x and 1.8 differences I would do $stderr.reopen $stdout instead of $stderr = $stdout Gennady. ----- Original Message ----- From: "Andrew Walrond" To: "ruby-talk ML" Sent: Tuesday, August 26, 2003 11:19 AM Subject: Help! redirecting stderr 1.6.x and 1.8 differences > I want to log stdout and stderr of a compile to a file, so I use (for > example) this simple ruby script, which works under 1.6.8 and doesn't under > 1.8 > > --------------------------------- > #!/bin/ruby -w > > $stdout.reopen("my.log","w") > $stdout.sync=true > $stderr=$stdout > > $stdout.puts("This from stdout") > $stderr.puts("This from stderr") > > system("gcc foobar") > --------------------------------- > > Running with 1.6.8.... > > rubyx@atlas public $ ruby --version > ruby 1.6.8 (2002-12-24) [i686-linux-gnu] > rubyx@atlas public $ ./testout.rb > rubyx@atlas public $ cat my.log > This from stdout > This from stderr > gcc: foobar: No such file or directory > gcc: no input files > rubyx@atlas public $ > > And with 1.8.0... > > rubyx@atlas public $ ruby --version > ruby 1.8.0 (2003-08-04) [i686-linux] > rubyx@atlas public $ ./testout.rb > gcc: foobar: No such file or directory > gcc: no input files > rubyx@atlas public $ cat my.log > This from stdout > This from stderr > rubyx@atlas public $ > > > So what is the correct way to do this which will work under 1.8 but also > supports 1.6.8? > > TIA > Andrew Walrond > > >