#!/usr/bin/perl for (1 .. 10) { print "printing $_\n"; warn "warning $_\n"; } #### #!/usr/bin/perl use strict; use warnings; my $stdout_mixed_with_stderr = `perl print_and_warn.pl 2>&1`; print "BEGIN\n\n$stdout_mixed_with_stderr\nEND\n"; # output below __END__ BEGIN warning 1 warning 2 warning 3 warning 4 warning 5 warning 6 warning 7 warning 8 warning 9 warning 10 printing 1 printing 2 printing 3 printing 4 printing 5 printing 6 printing 7 printing 8 printing 9 printing 10 END #### #!/usr/bin/perl use strict; use warnings; my $stdout_mixed_with_stderr = `perl print_and_warn.pl 3>&1 2>&3 3>&- 1>&-`; print "BEGIN\n\n$stdout_mixed_with_stderr\nEND\n"; # output below __END__ BEGIN warning 1 warning 2 warning 3 warning 4 warning 5 warning 6 warning 7 warning 8 warning 9 warning 10 END