From: ts Date: 2000-01-30T13:03:26+01:00 Subject: [ruby-talk:01198] Re: Question about 'open' >>>>> "D" == Dave Thomas writes: I'm not really sure, but the block is executed in the parent process. D> open("|-", "w+") ruby fork D> { |f| you are in the parent process (the test is useless, I think) D> if f == nil D> print "in Child\n" D> else D> print "Got: ", f.gets, "\n" D> end D> } you are in the parent and the child D> outputs D> Got: nil pigeon% cat b.rb #!/usr/bin/ruby p "Parent #$$" f = 12 open("|-", "w+") {|f| print "Got: ", f.gets } p "Hello #$$ #{f}" pigeon% b.rb "Parent 28677" Got: "Hello 28678 12" "Hello 28677 #" pigeon% Guy Decoux