Hi,
I have a program which reads the output from external application.The external app gives set of output .My program reads the output from this external app while($line=) and print it to STDOUT.But the "print $line STDOUT" prints only some lines and when the error has occurred ,print to STDOUT is not working , but my one more logging statement "push @arr,$line" has stored complete output from the external app.From this i got to know STDOUT is not working properly when error happens. Eg: if external app output is like:
Starting command
First command executed successfully
Error:123 :next command failed
Program terminated
In here the STDOUT prints only :
Starting command
First command executed successfully
But if i check the array it has complete output including error details.So i guessed STDOUT has been redirected or lost.
So i tried storing STDOUT in the beginning of the program to $old_handle using open and then try to restore it before print statement using select($old_handle) (thinking some thing redirects STDOUT when error happens )
But i was not successfull , i dont know what is wrong here.Please help me.
Thanks.