Perl无法捕获bzip2控制台输出

时间:2015-01-16 17:48:09

标签: perl bzip2

我的perl + gtk GUI应用程序遇到了一些困难。为什么perl不能从控制台捕获bzip2的输出文本?输出只是打印在控制台中,而不是被捕获到变量中。我没有任何其他程序的问题 - 它只是bzip2。

我的代码:

wypisz($cmd);
my $out = `$cmd`;
wypisz($out);
wypisz("end");

结果:$cmd和“结束”正确打印 - 仅此而已。 Bzip2的输出刚刚打印wypisz()是我用来将文本放入gtkTextView的函数:

sub wypisz {
    my $text = shift;
    my $textbuffer = $::Glade->get_widget( 'v_console' )->get_buffer;
    my $textiter = $textbuffer->get_end_iter;
    $textbuffer->insert($textiter,"$text\n");
    $::Glade->get_widget( 'v_console' )->set_buffer($textbuffer)
}

1 个答案:

答案 0 :(得分:3)

尝试

my $out = `$cmd 2>&1`;

将stderr重定向到stdout

相关问题