class File def uber_gets(delimiter) segment = "" self.each_byte do |byte| char = byte.chr if char == delimiter yield segment segment = "" else segment = "#{segment}#{char}" end end end end