http://qs1969.pair.com?node_id=559253


in reply to FORMAT Trouble

It's a big ugly, but you can use select and $~ to change the format for a given filehandle. See perlform for more info. In the meantime, here is a brief example:

use strict; use warnings; open( my $outfh, '>', 'temp.txt' ) or die $!; my ( $var1, $var2 ) = ( 'one', 'two' ); my $oldfilehandle = select $outfh; $~ = "FORMAT1"; select $oldfilehandle; write $outfh; $oldfilehandle = select $outfh; $~ = "FORMAT2"; select $oldfilehandle; write $outfh; $oldfilehandle = select $outfh; $~ = "FORMAT1"; select $oldfilehandle; write $outfh; format FORMAT1 = @<<<<< @<<<<< $var1, $var2 . format FORMAT2 = @<<<<<XXX@<<<<< $var2, $var1 . close $outfh;
And the output file:
one two two XXXone one two

Replies are listed 'Best First'.
Re^2: FORMAT Trouble
by SolidState (Scribe) on Jul 05, 2006 at 06:11 UTC
    This is exactly what I wanted! I read perlform, but didn't understand it. Your example it so much clearer!

    Thanks!