我正在尝试使用 Dancer 制作一个应用程序来执行我写入和读取的过程。在我的测试中,这在 Dancer 之外运行良好,但是当我在 dancer 中运行时,我无法捕获我生成的进程的输出。
例如,当我尝试以下
package My::App;
use Dancer ':syntax';
set serializer => 'JSON';
our $VERSION = '0.1';
use IPC::Run3;
get '/encode' => sub {
my ($out, $err);
my $in = 'test';
run3 'cat', \$in, \$out, \$err;
return $out;
}
它不会在 $out 中捕获输出,而是将其打印到控制台。
使用内置 Web 服务器运行 Dancer 应用程序时会发生这种情况。