I'm not sure if this is the main cause of the symptoms, it being that the code actually shown has some typos anyway, and might not be the "real" code (tm), but ...
When working with pipes it is advisable to wait for the subprocess to terminate before closing the pipe (e.g. by allowing the program to exit by default in this case). Also, use "or" and "and" rather than || and && when everything to the left is a complete statement for which the or and and is to operate on the truth value, otherwise it is apt to operate on only part of the statement (an error). For example:
use POSIX ":sys_wait_h";
my $mpid = open my $mh, "| /usr/sbin/sendmail"
or die "$!";
print $mh << "EOF";
To: joe@here.com
From: smith@here.com
Subject: data subject
message body here
EOF
close $mh
or die "$!";
waitpid $mpid, 0;
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.