$stdout
є глобальною змінною, яка представляє поточний стандартний результат. STDOUT
є константою, що представляє стандартний вихід, і зазвичай є значенням за замовчуванням $stdout
.
З STDOUT
будучи постійним, ви не повинні повторно визначити це, однак, ви можете повторно визначити $stdout
без помилок / попереджень (повторного задає STDOUT
підніме попередження). наприклад, ви можете зробити:
$stdout = STDERR
Те саме стосується $stderr
іSTDERR
Отже, щоб відповісти на іншу частину вашого запитання, використовуйте глобальні змінні для перенаправлення результату, а не константи. Тільки будьте обережні, щоб змінити його ще раз у своєму коді, перевизначення глобальних змінних може вплинути на інші частини вашого додатка.