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 <[email protected]> To: Beginners Perl <[email protected]> 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 <[email protected]> Subject: removing a 'tee'd file handles going forward To: Beginners Perl <[email protected]> > 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 ===== [email protected] === 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: [email protected] For additional commands, e-mail: [email protected] http://learn.perl.org/
