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.
|
|---|