Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked

Re^3: IO::Tee and write / format

by broomduster (Priest)
on Oct 17, 2008 at 19:36 UTC ( #717848=note: print w/replies, xml ) Need Help??

in reply to Re^2: IO::Tee and write / format
in thread IO::Tee and write / format

The whole point here is to use $tee->format_write() instead of write. Then you don't have to fool around with $^ et al. (it all happens automagically). A better way for me to have shown this might have been with more calls to $tee->format_write(), as in the following modified version of what I posted earlier.
use strict; use warnings; use IO::Tee; my %hash = map { ("key$_", "val$_") } ( 1 .. 5 ); my $key; format TEE_TOP = ==== Top of Output ==== . format TEE = @<<<<< @<<<<< $key, $hash{$key} . # with lexical file handle; can also use bareword handle open my $outfile, '>', 'junk.out' or die "error opening junk.out: ($! +)"; my $tee = IO::Tee->new( \*STDOUT, $outfile ); # see docs for IO::Tee and IO::Handle for explanation of these methods # and others available for proper format use/control $tee->format_top_name( q/main::TEE_TOP/ ); for $key ( sort keys %hash ) { $tee->format_write( q/main::TEE/ ); }

from the shell:

-> ./tst-tee-write ==== Top of Output ==== key1 val1 key2 val2 key3 val3 key4 val4 key5 val5 -> cat junk.out ==== Top of Output ==== key1 val1 key2 val2 key3 val3 key4 val4 key5 val5

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://717848]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (6)
As of 2020-11-26 01:57 GMT
Find Nodes?
    Voting Booth?

    No recent polls found