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