James Kipp <[EMAIL PROTECTED]> wrote:
> Navid M. <[EMAIL PROTECTED]> writes:
>> 
>> I was wondering if it's possible to save the error of
>> a DOS command from the error stream into a variable.
>> 
> you could try the old 2>&1 trick  
> $out = `$cmd 2>&1`;
> 
> or use system() and read the docs for capturing error codes:

Assuming IPC::Open3 works on Windows [I believe that it does]
you could also do:

  sub readpipes {
    require IPC::Open3;
    my $pid = IPC::Open3::open3(my ($in, $out, $err), @_);

    close $in;
    waitpid $pid, 0;

    [<$out>], [<$err>]
  }

  my ($out, $err) = readpipes qw(...);

  foreach (@$out) { print "out : $_" }
  foreach (@$err) { print "err : $_" }

This can be easier to deal with, especially if the subprocess 
writes to both streams.

-- 
Steve

perldoc -qa.j | perl -lpe '($_)=m("(.*)")'

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

Reply via email to