The behavior of the defined? operator is different in current ruby 1.9 
snapshots than it is in 1.8.5.  Anyone know whether this is a bug or a 
feature?

# Ruby 1.8: prints "assignmentnil"
ruby -e 'print defined? a=1; print a;'

# Ruby 1.9: prints "expression1"
./ruby1.9 -e 'print defined? a=1; print a;'

Note that this is a pretty major difference: Ruby 1.9 evaluates the 
assignment statement on the right of defined? while Ruby 1.8 does not.

     David Flanagan