Diferencia entre $ stdout y STDOUT en Ruby

En Ruby, ¿cuál es la diferencia entre$stdout (precedido por un signo de dólar) ySTDOUT (en mayúsculas)? Al hacer la redirección de salida, ¿cuál debe usarse y por qué? Lo mismo va para$stderr ySTDERR.

Editar Acabo de encontrar una pregunta relacionada.