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