Différence entre $ stdout et STDOUT dans Ruby

En Ruby, quelle est la différence entre $stdout(précédé d'un signe dollar) et STDOUT(en majuscules)? Lors de la redirection de sortie, laquelle doit être utilisée et pourquoi? Il en va de même pour $stderret STDERR. Edit: Je viens de trouver une question connexe .