$stdout
es una variable global que representa la salida estándar actual. STDOUT
es una constante que representa la salida estándar y suele ser el valor predeterminado de $stdout
.
Al STDOUT
ser una constante, no debe volver a definirla, sin embargo, puede volver a definirla $stdout
sin errores / advertencias (la redefinición STDOUT
generará una advertencia). por ejemplo, puedes hacer:
$stdout = STDERR
Lo mismo ocurre $stderr
ySTDERR
Entonces, para responder la otra parte de su pregunta, use las variables globales para redirigir la salida, no las constantes. Solo tenga cuidado de volver a cambiarlo más adelante en su código, la redefinición de variables globales puede afectar otras partes de su aplicación.