vighneshmufc:

You have an error in this line:

while (my ($row) = <$fh2>) {

Since $row is in parenthesis, you're doing an assignment in list context. So all the lines in $fh2 are read, and the first one is passed into $row, and the rest are discarded.

Change the line to:

while (my $row = <$fh2>) {

and then it should work better for you.

Here's a little demonstration:

$ cat t.pl use strict; use warnings; # Scalar context my $row = <DATA>; print $row; # Array context my ($a) = <DATA>; print $a; # Now there's nothing left! my $c = <DATA>; print $c; __DATA__ Now is the time for all good men to come to the aid of their party $ perl t.pl Now is the time for all good men Use of uninitialized value $c in print at t.pl line 14, <DATA> line 5.

Notice that we read the first line in scalar context, and then we print the first line successfully.

Next, we read a line in array context, and print the second line successfully.

Finally, we try to read the next line, but there's no data left! All of it was read earlier!

...roboticus

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


In reply to Re^8: Filtering Output from two files by roboticus
in thread Filtering Output from two files by vighneshmufc

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • 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:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.