標準入力を2つに分ける。
def splitter(source, number = 2)
pipes = number.times.map{ IO.pipe }
Thread.fork do
source.each_line { |line|
pipes.each{|r, w| w.puts line }
}
pipes.each{|r, w| w.close}
end
return pipes.map{|r, w| r }
end
src_0, src_1 = splitter($stdin, 2)
src0.each_line { |line| puts line }
src1.each_line { |line| puts line }