I may have missed it, but I didn't see this solution:
require 'enumerator'
"Hello world!\n".enum_for(:each_byte).inject($stdout){|res, b| res << b.chr}
Which in 1.9 looks much better:
"Hello world!\n".each_char.inject($stdout){|res, c| res << c}
Stefano