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 = @<<<<