To expand a bit on the correct diagnosis of Anonymous Monk, you are opening the files, but you are not reading from them.

You are trying to read STDIN twice, once here:

my @in = <>;

and once here:

while ( <> ){ ... }

It's not clear to me what that is supposed to achieve.

Then you try to open a filehandle to a list:

open (READ, @in) || die "cannot open @in: $!.\n";

This suggests that you only have a single filename in @in, and that filename does not have a newline appended.

Your program logic alltogether is a bit weird, because in your while loop, you recreate your output files on every pass through the loop. This is most likely not what you want:

while ( <> ){ for (my $i=0; $i<=$#file_names; $i++){ ... } }

Let me suggest a different structure of your program:

  1. Open the output file(s)
  2. For each input file
  3. Open the input file
  4. Read one line from the input file
  5. Write the line to the output file(s)
  6. Repeat reading

You have many parts of that already, but your program isn't structured in the right order.


In reply to Re^3: reading files to different output files. by Corion
in thread reading files to different output files. by ic23oluk

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.