use Capture::Tiny qw( capture ); my ($stdout, $stderr, @result) = capture { system 'test.bat'; };