- IPC::Run3
Capturing both STDOUT and STDERR using IPC::Run3
examples/io/capture_ipc.pl
#!/usr/bin/perl use strict; use warnings; use Test::More tests => 2; use IPC::Run3; my $app = "./examples/io/application.pl"; my @in = ('10', '21', 'hello', '3x'); my $in = join "\n", @in; my @expected_out = ('20', '42'); my @expected_err = ( "The input 'hello' contains no numeric values", "The input '3x' contains no numeric values", ); { my $out; my $err; run3 [$app], \$in, \$out, \$err; my $expected_out = join("\n", @expected_out) . "\n"; is($out, $expected_out, "IPC Output"); my $expected_err = join("\n", @expected_err) . "\n"; is($err, $expected_err, "IPC Error"); }