Though I don't use Windows much anymore, this is good stuff.

This should be included in the standard Ruby distribution for 
Windows at some point.

Phil


In article <auremp$s0b$1 / news.hananet.net>,
Park Heesob <phasis / kornet.net> wrote:
>Hi, all.
>
>win32_popen is popen2,popen3,popen4 implementation on Windows adapted from
>Python source code.
>
>You can use win32_popen3 like this:
>
>require 'win32_popen'
>
>fin,fout,ferr = IO.win32_popen3("date")
>puts fout.gets
>fin.print "2002-01-01\n"
>while !fout.eof
>puts fout.gets
>end
>
>fin,fout,ferr = IO.win32_popen3("irb")
>
>begin
>a = fout.getc
>putc a.chr
>end while a != ?>
>
>fin.print "exit\n"
>
>while !fout.eof
>puts fout.gets
>end
>
>
>You can download mswin binary for your Ruby version.
>http://home.nownuri.net/~phasis/popen/win32_popen_1.6.8.zip
>http://home.nownuri.net/~phasis/popen/win32_popen_1.8.0.zip
>Souce code and binary included.
>
>[Requirement]
>
>* Ruby 1.6.5+
>
>It may be made with other version but not verified.
>
>[Install binary]
>
> > ruby install.rb
>
>[Install from source]
>
> > ruby extconf.rb
> > nmake
> > ruby install.rb
>
>[methods]
>
>IO#win32_popen2(cmd[, mode])
>Executes cmd as a sub-process. Returns the file objects (child_stdin,
>child_stdout).
>
>IO#win32_popen3(cmd[, mode])
>Executes cmd as a sub-process. Returns the file objects (child_stdin,
>child_stdout, child_stderr).
>
>IO#win32_popen4(cmd[, mode]])
>Executes cmd as a sub-process. Returns the file objects (child_stdin,
>child_stdout_and_stderr).
>
>Regards.
>
>Park Heesob
>
>
>


-- 
"Or perhaps the truth is less interesting than the facts?" 
Amy Weiss (accusing theregister.co.uk of engaging in 'tabloid journalism')
Senior VP, Communications
Recording Industry Association of America