>>>>> "R" == Ralph Mason <ralph.mason / telogis.com> writes:

R> What am  I missing here?

 $_ (like $~) is a local and thread local variable.

R> irb(main):001:0> $_= "ruby"
R> "ruby"
R> irb(main):002:0> module Kernel ; def upcase ; $_.upcase! ; end ; end

 Inside #upcase $_ is nil because it was never assigned.

Guy Decoux