Existe uma maneira de fazer com que esse código perl capture stderr e stdout de um 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;
Eu tentei redirecionar stderr para stdout usando esta sintaxe, mas não funcionou:
open UNIT_TESTER, qq(tcsh -c "gpath $dir/$tsttgt; bin/rununittests >& "|);
Eu também li a discussão sobre a FAQ do perl, mas isso foi em relação ao bash:http://www.perl.com/doc/FAQs/FAQ/oldfaq-html/Q5.15.html