What does this syntax do:
open STDERR, '>&', \*STDOUT'
because this simpler syntax seems to work:
EDIT: In fact, I just tried using STDOUT and STDERR as the third argument to open() without quotes around them, and that works too: the output is the same.1 use strict; 2 use warnings; 3 use 5.010; 4 5 open my $SAVE_STDOUT, '>&', 'STDOUT'; #<--quoted bareword 6 open STDOUT, '>', 'data1.txt'; 7 say 'hello world'; 8 9 open my $SAVE_STDERR, '>&', 'STDERR'; #<--quoted bareword 10 open STDERR, '>', 'errors.txt'; 11 warn "my warning message"; 12 13 open STDOUT, '>&', $SAVE_STDOUT; 14 open STDERR, '>&', $SAVE_STDERR; 15 say 'goodbye'; 16 warn 'my warning message #2'; --output:-- goodbye my warning message #2 at 2perl.pl line 16. $cat data1.txt hello world $cat errors.txt my warning message at 2perl.pl line 11.
In reply to Re^5: Can't close STDIN/STDOUT/STDERR
by 7stud
in thread Can't close STDIN/STDOUT/STDERR
by brp4h
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |