#------# begin code for test9.pl #!c:/apps/perl/bin/perl use IPC::Open3 qw( open3 ); use strict; use warnings; open DBG, ">debug2.log" or die $!; eval { my @cmd1 = ( 'c:/Program Files/TortoiseSVN/bin/svn.exe', '--version', '--quiet'); print "Running ", join(" ", map { "'$_'" } @cmd1), "\n"; open my $old_stdout, '>&', STDOUT or die "Couldn't dup stdout! ($!)"; open my $old_stderr, '>&', STDERR or die "Couldn't dup stderr! ($!)"; open STDOUT, '>', 'out.txt' or die "Couldn't redirect stdout to file! ($!)"; open STDERR, '>', 'err.txt' or die "Couldn't redirect stderr to file! ($!)"; system(@cmd1); close STDOUT; close STDERR; open STDOUT, '>&', $old_stdout or die "Could not re-connect to stdout! ($!)"; open STDERR, '>&', $old_stderr or die "Could not re-connect to stderr! ($!)"; open FH, '<', 'out.txt' or die "Could not open out.txt! ($!)"; open FH2, '<', 'err.txt' or die "Could not open err.txt! ($!)"; my ($out, $err); { local $/; $out = ; $err = ; } close FH; close FH2; print "----OUT----\n", $out, "\n----OUT----\n"; print "----ERR----\n", $err, "\n----ERR----\n"; #print join("\n", @err), "\n"; }; if ($@) { print DBG $@; exit 1; } close DBG; #------#