in reply to Misunderstood array behavior

May I suggest a change to your testing code:

# print "@firstLine1\n"; # All values print fine! MAYBE # print "@firstLine2\n"; # All values print fine! print '##',join('##',@firstLine1),"##\n"; print '##',join('##',@firstLine2),"##\n";

Provided there are no '##' in your lines (showing those lines would have helped since your code is fine apart from the issue mentioned already) this will show you exactly how your arrays look like. Even better is the CPAN module Data::Dumper, especially when your data structures become more complex:

use Data::Dumper; # print "@firstLine1\n"; # All values print fine! MAYBE print Dumper(@firstLine1);

PS: You could test your script with only one file i.e.  yourscript filex filex. If you still get a missing value in the output, the script is to blame, otherwise your data

Replies are listed 'Best First'.
Re^2: Misunderstood array behavior
by toolic (Bishop) on Sep 20, 2008 at 15:44 UTC
    Even better is the CPAN module Data::Dumper
    Not only is it a CPAN module, but it is also a "Core Module". This means that it is part of the Perl distribution and does not have to be separately downloaded and installed. It also means that you can use [doc://Data::Dumper] to link to the Perl doc, like so: Data::Dumper. You probably knew all this, but just in case others were unaware...
      Actually I didn't know this. Since I use linux distributions that make it easy to add lots of non-core modules to the installed perl at installation, the distinction between core and non-core is in practice replaced by distribution and non-distribution