get return value of open(MAIL,"|mail.pl)

I use my self-written perl-script to send mail.
It returns an exit code of 1 if an error has occured! But how to get the error code?
I use it like:

open(MAIL, "|mail.pl");
print MAIL "From: \"xx\@xx.com\" <xx\@xx.com>\n".
           "To: \"xx\@xx.com\" <xx\@xx.com>\n".
           "Subject: TEST\n\n".
           "This is the body";
close(MAIL);

but how do I get the error code???

thanks
witty
LVL 1
wittyAsked:
Who is Participating?
 
SapaCommented:
"but how do I get the error code???"

It is in the $? variable after close(MAIL) is done.
Add:

print "Return code: ",($? >> 8),"\n";

The least 8 bits of $? contains information about signal
number if child process was killed.

- Sapa
0
 
ozoCommented:
close(MAIL) or warn $! ? "Error closing MAIL: $!" : "exit status $?";
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.