The pod for close() states:
If the file handle came from a piped open, "close" will additionally return false if one of the other system calls involved
fails, or if the program exits with non-zero status. (If the
only problem was that the program exited non-zero, $! will be
set to 0.) Closing a pipe also waits for the process executing
on the pipe to complete, in case you want to look at the output
of the pipe afterwards, and implicitly puts the exit status
value of that command into $?.
So maybe checking $? would give you more info?
From experience, getting errors on closing of sendmail pipes, usually indicates something is wrong with the queuing and/or sending of mail. I would also check the partitions on which queue or log files reside, and make sure there is room there.
Hope this helps.
Liz |