Comment faire pour rediriger STDOUT et STDERR vers une variable

Je veux rediriger STDERR et STDOUT à une variable. Je l'ai fait.

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.
}

Le problème avec system. Je veux que la sortie de cet appel à être capturé.

OriginalL'auteur Deck | 2010-12-11