Hiyas. I am a bit puzzled about the use of 'do', 'begin' and 'end'. Why do
you sometimes need the begin and other times not. Check the following
code:

---------------
  def run
    loop do
      (**)    # Why no begin here?
      Thread.start(@listen.accept) do |aConnection|
	begin   # HERE: Why do I need this begin and why
		#	not one above at (**) too??
	  session = WebSession.new(aConnection)
	  
	  request = []
	  loop do 
	    str = aConnection.gets
	    line = str.chomp("\r\n")
	    break if line.length == 0
	    request << line
	  end
	  
	  session.standardPage("Your Request") {
	    "<h1>Your request was:</h1>\n" +
	      request.join('<br>') +
	      "<p>Thank you for testing our system."
	  }
	ensure
	  aConnection.close
	end
      end
    end
  end
---------------

Thanks.

-Anders.