From: Simon ARNAUD Date: 2002-03-13T02:37:45+09:00 Subject: Re: How To: Read a paragraph at a time Hi You do not get exactly how iterators work. gets is not an iterator, it's an IO method that returns a string, and yields nothing (so, block is unused). What you wanted is: f.each("") { |p| ... each is an iterator that yields f.gets("") until end of file. cheers Maz