in reply to Help needed please: Data Manipulation in 2D Array

The following coding style comments may help for future work:

Always use strictures (use strict; use warnings;).

You don't need to "flush" an empty variable so @array = (); is better written my @array;.

You almost never need to interpolate a string into a double quoted string before assigning it some place. You can simply $NAME = $ARGV[0]; #FILE 1..

No file is not the only failure mode for open. Instead write:

open NAME or die "Failed opening $NAME: $!\n";

@array = <NAME>; "slurps" the file which is ok for small files, or when it is essential to re-read a file, or when you want to randomly access lines in a file. Generally however you are better to:

while (<NAME>) { ... }

In $cc = scalar @array; you don't need scalar and really you don't even need $cc. Instead write your for loop as

for my $i (0 .. @array) { ... }

or even better as:

for my $elt (@array) { ... }

Note that I haven't addressed the "bigger picture" errors and refinements. ikegami has already done a good job of that.


Perl is environmentally friendly - it saves trees