use IO::CaptureOutput qw/capture/; $cmd = "xcopy /Y /S /E /I /F /R /K $source $dest"; capture { system $cmd } \$stdout, \$stderr; print "Output is : "."\n"."$stdout\n"; print "Error is : "."\n"."$stderr\n"; print "Exit code is : "."\n"."$?\n";