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


in reply to Re^2: neglect warnings in open 3 HANDLE_OUT
in thread neglect warnings in open 3 HANDLE_OUT

Perhaps I just don't understand what you mean by "at single go"; given that your output stream is naturally new-line delimited, I fail to see the problem encountered by:
while(<HANDLE_OUT>) { next if /<BEA-\d+>/; next if !/\S/; print; }
which is pretty much what I posted above.

Update: And then this node's parent added

I am using backtick I want to parse this. print `$command`;
Are you using IPC::Open3 or are you using backticks? For the latter, you would presumably need to capture the output filter it, probably by splitting on new-lines and feeding it through the loop above.

#11929 First ask yourself `How would I do this without a computer?' Then have the computer do it the same way.

Replies are listed 'Best First'.
Re^4: neglect warnings in open 3 HANDLE_OUT
by sandeepda (Novice) on May 14, 2013 at 14:15 UTC
    Let me tell u bigger picture I am calling this perl from java which inturn call somejava file for validation.My server side java expects the output stream as i mentioned above .If i am printing line by line my java is getting only 1st line
      I love me some Perl, don't get me wrong; but why would you wrap Java in Perl and then in Java again? Why are you invoking 3 different technologies (there's some shell in there) when 1 will do? If the inner Java requires an external call, why aren't you invoking it from Java?

      If you are debugging a complex system, the easiest approach is to systematically debug sub systems. It sounds like your inner Java is outputting incorrectly. That means you should be debugging your Java or call-parameters, not hiding the problem in Perl.

      If you do want to just ignore the issue with Perl, then see if invoking the Perl on the command line yields the expected output. If it does, then you are invoking Perl incorrectly in your Java; if it doesn't, then modify your Perl, perhaps as I've suggested above. I can't be more specific without seeing the actual code you are using at these interfaces.


      #11929 First ask yourself `How would I do this without a computer?' Then have the computer do it the same way.

        $parent->upvote() for 1 .. 100;

        ...roboticus

        When your only tool is a hammer, all problems look like your thumb.