$stdoutlà một biến toàn cục đại diện cho đầu ra tiêu chuẩn hiện tại. STDOUTlà một hằng số đại diện cho đầu ra tiêu chuẩn và thường là giá trị mặc định của $stdout.
Với STDOUTviệc là một hằng số, bạn không nên xác định lại nó, tuy nhiên, bạn có thể xác định lại $stdoutmà không có lỗi / cảnh báo (định nghĩa lại STDOUTsẽ đưa ra cảnh báo). ví dụ, bạn có thể làm:
$stdout = STDERR
Tương tự đối với $stderrvàSTDERR
Vì vậy, để trả lời phần khác của câu hỏi của bạn, hãy sử dụng các biến toàn cục để chuyển hướng đầu ra, không phải hằng số. Chỉ cần cẩn thận thay đổi nó trở lại trong mã của bạn, việc xác định lại các biến toàn cục có thể ảnh hưởng đến các phần khác của ứng dụng của bạn.