Thanks.
"Do you really want to send the output to a file named STDOUT?"
Not really. What I was trying to do is have a medium-sized script be able to alternate between writing output to a file or to stdout itself, depending on an option.
. . .
if (defined($opt{'o'})) {
$output = $opt{'o'};
$output =~ s/[\0-\x1f]//g;
if ($output =~ /^([-\/\w\.]+)$/) {
$output = $1;
} else {
die("Bad path or file name: '$output'\n");
}
} else {
$output = '/dev/stdout';
}
. . .
open(my $out, $mode, $output)
or die("Could not open '$output' for writing: $!\n");
That way I can use the same print statements for either purpose.
I presume there is a better way for all that, however.