Agreed.  But the program flow would be such (pseudo-code):

(1) print STDOUT 
    print STDERR
(2) now print to both in one print statement

(3) now go back to 
    print STDOUT
    print STDERR

I want to switch back-and-forth between being able to print to STDOUT, STDERR 
with one 'print' statement and then back ...

HTH





________________________________
From: Jenda Krynicky <je...@krynicky.cz>
To: Beginners Perl <beginners@perl.org>
Sent: Wednesday, 26 August, 2009 10:44:15
Subject: Re: removing a 'tee'd file handles going forward

Date sent:    Wed, 26 Aug 2009 15:36:26 +0000 (GMT)
From:    Tony Esposito <tony1234567...@yahoo.co.uk>
Subject:    removing a 'tee'd file handles going forward
To:    Beginners Perl <beginners@perl.org>

> I want to output to both STDOUT and STDERR at one point in my program, then 
> want to separate the two handles going forward in the program so that output 
> is sent to STDOUT and STDERR separately.  Given the code snip below, would 
> the "undef tee" do the trick?
>  
> use IO::Tee;
>
> my $tee = new IO::Tee(\*STDOUT,\*STDERR);
> $tee->print("Hi\n"); 
> $tee->flush;
>
> # some code here ... blah, blah, blah ...
> # now want to change to set and 'untee' STDOUT and STDERR ...
>
> undef tee;   # is this going to do it?

Well it will, but there is no need to do that. You can print to
STDOUT and STDERR even while the tee exists.

print $tee "Foo\n";

will go to both

print STDOUT "Foo\n";

will go to STDOUT and

print STDERR "Foo\n";

to STDERR.

And

print "Foo\n";

to the select()ed filehandle.

Jenda


===== je...@krynicky.cz === http://Jenda.Krynicky.cz =====
When it comes to wine, women and song, wizards are allowed
to get drunk and croon as much as they like.
    -- Terry Pratchett in Sourcery


--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


      

Reply via email to