#!/usr/bin/perl use strict; use warnings; use Capture::Tiny 'capture'; my $original = 'file.txt'; my $copy = 'fileTest.txt'; my $cmd = qq{cp -v $original $copy}; # capture from external command my ($stdout, $stderr, $exitCode) = capture { system( $cmd ); }; print 'StdOut: ' . $stdout if $exitCode == 0; print 'Error: ' . $stderr unless $exitCode == 0; __END__ $ perl test.pl StdOut: 'file.txt' -> 'fileTest.txt'