http://www.perlmonks.org?node_id=416340


in reply to Re: Wierd File pipe problem...
in thread Wierd File pipe problem...

see, it's not really Dying. The problem is that it's NOT dying. It works great to a point. It runs. It sits there, and it prints out that it's finding 'LINE1' then it waits, then 'LINE2' ... Because in my code you see I have it printing the line that it pulls before passing it on.
print "read[$line]\n";
Is in the read_smdr. The problem is, if I, for instance, chop the data, the return is empty. Even though if I print $line, it shows the full 80 character line. If I pass it to another program, as I have in the code here:
system("./parse_smdr", $line);
the new program reports from it's args the first line perfect: It'll say:
Parse[LINE1]
from the command in parse_smdr that says:
print "Parse[$line]\n";
Like it's supposed to. Then the second iteration of READ, it'll pass empty string. No matter what. Even if you just run a standard perl command, the command returns as if it was passed an empty variable.... it's VERY bizzarre. Mind you, that the FIRST TIME the while loop in read_smdr runs it works PERFECT...