||= operator

I read in Agile Web Development with Rails that you can set a value like this, @my_time ||= Time.now

What does the operator mean, and what is the difference between using >>= and = ?

foo = 5 # foo now equals 5 foo ||= 6 # foo still equals 5

= is saying if the left hand side is nil, then set the left hand side to

the right hand side, otherwise just leave well enough alone.

-philip