Cool.  I didn't know about the IPC::Open3 module.  Will look at it.

Thanks for the pointer!

deb

At 15:04:25, on 06.23.03:
Cracks in my tinfoil beanie allowed John W. Krahn to seep these bits into my brain:,
> Deb wrote:
> > 
> > I've got a script which opens a filehandle to write print statments to a file.
> > But, I'm also running some system commands, and I would also like to send
> > stdout and stderr to that filehandle.  I could just echo text to a file, or I
> > could use a filehandle.  Which would be "better?"
> > 
> >     my $log = "/tmp/log.$$";
> > 
> >     open(LOG, ">$log");
> >     print LOG "Commencing maintenance\n";
> > 
> > But, here's how I've handled stdout and stderr in a system statement:
> > 
> >     my $log = "/tmp/log.$$";
> > 
> >     system("path-to-command >> $log 2>&1");
> > 
> > Is there a way to use a filehandle instead?  Seems I'd have to take care of
> > block and non-blocking I/O.  Methinks it may be simpler just to stick with
> > printing directly to $log and not the FH, LOG.
> 
> You could do something like this:
> 
> use IPC::Open3;
> 
> my $log = "/tmp/log.$$";
> 
> open LOG, '>', $log or die "Cannot open $log: $!";
> print LOG "Commencing maintenance\n";
> 
> my $pid = open3( 0, '>&LOG', 0, 'path-to-command' );
> 
> 
> 
> John
> -- 
> use Perl;
> program
> fulfillment
> 
> -- 
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]

-- 
                  o      _     _         _
          _o     /\_   _ \\o  (_)\__/o  (_)
        _< \_   _>(_) (_)/<_    \_| \   _|/' \/
       (_)>(_) (_)        (_)   (_)    (_)'  _\o_
               http://zapatopi.net/afdb.html







-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to