Как перенаправить STDOUT и STDERR в переменную

Я хочу перенаправить STDERR и STDOUT в переменную. Я сделал это.

close(STDOUT);
close(STDERR);

my $out;
open(STDOUT, ">>", \$out);
open(STDERR, ">>", \$out);

for(1..10)
{
    print "print\n"; # this is ok. 
    warn "warn\n"; # same
    system("make"); # this is lost. neither in screen nor in variable.
}

Проблема с системой . Я хочу, чтобы вывод этого вызова тоже был записан.

11
задан Deck 20 December 2013 в 01:06
поделиться