$stdout
- это глобальная переменная , представляющая текущий стандартный вывод.STDOUT
- это константа , представляющая стандартный вывод, и обычно это значение по умолчанию $stdout
.
Если STDOUT
является константой, вы не должны переопределять ее, однакоВы можете переопределить $stdout
без ошибок / предупреждений (переопределение STDOUT
вызовет предупреждение).Например, вы можете сделать:
$stdout = STDERR
То же самое относится к $stderr
и STDERR
Итак, чтобы ответить на другую часть вашего вопроса, используйте глобальные переменныеперенаправить вывод, а не константы.Просто будьте осторожны, чтобы в дальнейшем изменить его в своем коде, переопределение глобальных переменных может повлиять на другие части вашего приложения.