sub pipe { my $pipename = "pipe1"; #subroutine to create pipe,aiting to connect and reading from it print $pipename."\n"; my $pipe = new Win32::Pipe($pipename); if (! $pipe) { die "Cannot create named pipe\n"; } print "pipe created\n"; $pipe->ResizeBuffer (10); print "waiting for the client to connect\n"; $pipe->Connect(); my $b = 0; while (($b = $pipe->Read())) { chomp $b; $data= $b; } $pipe->Disconnect(); print "pipe disconnected\n"; $pipe->Close(); print "pipe closed\n"; return $data; } my $thread = new Thread \&pipe; my $status_deployment = system ("cmd.exe /c $command_deploy"); print"$data"; #executing deployement return $status_deployment,$data;