http://qs321.pair.com?node_id=674087


in reply to bidirectional challange

You want to read from STDIN and from TNIN without starving either, so that points to IO::Select.