No way that I know of, but closing the file and then re-opening for append either side of the system calls doesn't seem so onerous? Just make sure that you use the append form of redirection on your system commands and when re-opening the file in the calling program
#! perl -slw
use strict;
open F, '>junk.log' or die $!;
print F 'From calling program via F';
close F;
system( 'perl -le"print q[This goes via STDOUT]; print STDERR q[This g
+oes via STDERR];" 1>>junk.log 2>&1' );
open F, '>>junk.log' or die $!;
print F 'From calling program via F';
close F;
__END__
P:\test>type junk.log
From calling program via F
This goes via STDERR
This goes via STDOUT
From calling program via F
Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller
|