$stdout
è una variabile globale che rappresenta l'output standard corrente. STDOUT
è una costante che rappresenta lo standard output ed è in genere il valore predefinito di $stdout
.
Con STDOUT
essere una costante, non si deve ri-definire, tuttavia, è possibile ridefinire $stdout
senza errori / avvertenze (ridefinizione STDOUT
alzerà un avvertimento). ad esempio, puoi fare:
$stdout = STDERR
Lo stesso vale per $stderr
eSTDERR
Quindi, per rispondere all'altra parte della tua domanda, usa le variabili globali per reindirizzare l'output, non le costanti. Basta fare attenzione a cambiarlo di nuovo più avanti nel codice, la ridefinizione delle variabili globali può influire su altre parti dell'applicazione.