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