use strict; use IPC::Open3 ; use Data::Dumper ; my $auth ="admin1" ; my $pwd = "admin1" ; close(STDOUT) ; my $cmd = "net rpc rights list -U $authname%$pwd" ; my ( $wfh,$rfh,$efh,$pid,@privilege) ; $pid = open3( $wfh ,$rfh, $efh, $cmd ); open(FH,">/tmp/debug") ; waitpid( $pid, 0 ) ; if ( $? == 0 ) { print FH "Cmd OK\n" ; while(<$rfh>) { print FH $_ ; } } close(FH) ; #### open OUT, ">/tmp/out.tmp" or die "Can't open OUT" ; $pid = open3( $wfh ,\*OUT, $efh, $cmd ); ... ... while () { print FH $_ ; }