While playing with CGI::Cookie this weekend, I discovered that, used
incorrectly, you can set cookies with names, but no values.  This in
itself is not terrible - a bit confusing if you're unsure how things
work, maybe - but when you try to require 'cgi' in a script that can
read that cookie, it barfs on you.  I found the place in cgi.rb that
does this - when it tries to push *values onto the array of cookies, 
and values is an empty list, push dies because it thinks that is has
no arguments for some reason.  Below is a patch for cgi.rb that works
around this problem, in case anyone else runs across it.

>ruby -v
ruby 1.6.3 (2001-03-19) [i686-linux]

> diff cgi.rb cgi.rb.orig
714,719c714,717
<       if values != []
<         if cookies.has_key?(name)
<           cookies[name].value.push(*values)
<         else
<           cookies[name] = Cookie::new({ "name" => name, "value" => values })
<         end
---
>       if cookies.has_key?(name)
>         cookies[name].value.push(*values)
>       else
>         cookies[name] = Cookie::new({ "name" => name, "value" =>
>       values })


DVS