$stdout
é uma variável global que representa a saída padrão atual. STDOUT
é uma constante que representa a saída padrão e normalmente é o valor padrão de $stdout
.
Por STDOUT
ser uma constante, você não deve redefini-la, no entanto, você pode redefinir $stdout
sem erros / avisos (redefinir STDOUT
gerará um aviso). por exemplo, você pode fazer:
$stdout = STDERR
O mesmo vale para $stderr
eSTDERR
Portanto, para responder à outra parte da sua pergunta, use as variáveis globais para redirecionar a saída, não as constantes. Apenas tome cuidado para alterá-lo mais adiante em seu código, a redefinição de variáveis globais pode afetar outras partes de seu aplicativo.