> Anyway, if you can avoid storing nil values, then I'd just use
>
>   if session[:key]
>     ... do something
>   end

Good suggestion.  One just has to be mindful of the nil-value issue.
Thanks.

> Rack::Session::XXX is probably what you want.

That may be.  I'd have to look into it.  Before reading the responses to
my post, I had never heard of Rack.

> As has been pointed out above, hardly anyone uses CGI these days; with
> any non-trivial code the overhead of loading up libraries and
> establishing fresh database connections is too high.

Earlier you asked me whether my question was about Rails.  I said, "No."
However, I got to wondering why it mattered.  Doesn't Rails use
CGI::Session?  If it does, isn't that fairly good evidence that it's
quite usable when one understands how to use it?  I agree with Marc that
we really could use some improved documentation.  I have way more
questions than answers.  For example, the documentation says, "By
default, this CGI::Session instance will start a new session if none
currently exists, or continue the current session for this client if one
does exist."  How does it determine whether a session currently exists?
I'm having trouble with new sessions being created when (IMHO) an
existing session should be continued.  Kind of in that same vein, I'm
not real clear on exactly what session.close() does.

Anyway, thanks to all.  The question that I originally asked has been
answered.

         ... doug

-- 
Posted via http://www.ruby-forum.com/.