Есть ли способ заставить этот Perl-код захватывать как stderr, так и stdout из tcsh?

    open UNIT_TESTER, qq(tcsh -c "gpath $dir/$tsttgt;  bin/rununittests"|);
    while(<UNIT_TESTER>){
        reportError($ignore{testabort},$tsttgt,"test problem detected for $tsttgt:$_ ") if /core dumped/;
        reportError($ignore{testabort},$tsttgt,"test problem detected for $tsttgt:$_ ") if /\[  FAILED  \]/;
        writelog($tsttgt,$_);
    }
    close UNIT_TESTER;

Я пытался перенаправить stderr в stdout, используя этот синтаксис, но он не работал:

open UNIT_TESTER, qq(tcsh -c "gpath $dir/$tsttgt;  bin/rununittests >& "|);

Я также прочитал обсуждение FAQ по Perl, но это было связано с bash:http://www.perl.com/doc/FAQs/FAQ/oldfaq-html/Q5.15.html

Ответы на вопрос(2)

Ваш ответ на вопрос