From: "Angus Laycock" <[EMAIL PROTECTED]>
> I want to print messages from a script to either STDOUT or STDERR
> depending on a value of a variable. I want to control where I send the
> print statements to. Can I do something like this or are there other
> ways to control the target I send my message to. I'm hoping there are
> lots of other ways.
>
> if ($out) { $whereitsggoing = STDERR } else { $whereitsggoing = STDOUT
> }
>
> print $whereitsgoing "My message\n";
Either
if ($out) {
*STDSOME = STDERR
} else {
*STDSOME = STDOUT
}
print STDSOME "My message\n";
or
use FileHandle;
my $FH;
if ($out) {
$FH = \*STDERR
} else {
$FH = \*STDOUT
}
print $FH "My message\n";
or
if ($out) {
open STDSOME, '>&STDERR';
} else {
open STDSOME, '>&STDOUT';
}
print STDSOME "My message\n";
or
use FileHandle;
my $FH;
if ($out) {
open $FH, '>&STDERR';
} else {
open $FH, '>&STDOUT';
}
print $FH "My message\n";
In the first two solutions when you change where the
STDOUT/STDERR goes, the STDSOME (or $FH) will "change" as
well, in the last two it'll remain unaffected.
HTH, Jenda
=========== [EMAIL PROTECTED] == http://Jenda.Krynicky.cz ==========
There is a reason for living. There must be. I've seen it somewhere.
It's just that in the mess on my table ... and in my brain.
I can't find it.
--- me
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]