use Capture::Tiny ':all'; my $cmd = ... my @args = ... print "Start of my code\n"; my ($stdout, $stderr, $exit) = capture { system($cmd, @args); }; print "Exit status is : $exit\n"; if ($exit) { print "Error in executing command : $stderr\n"; exit; } print $stdout;