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 <Jenda@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 <tony1234567893@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 ===== Jenda@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-unsubscribe@perl.org For additional commands, e-mail: beginners-help@perl.org http://learn.perl.org/Thread Previous | Thread Next