in reply to Thoughts from a newbie
Caveats aside, save a few characters: my @x = ( 0 ) x 25;
This construct could also be more concise:
The defined is in there just in case. (I believe the magic <FH> read does this for you, but I don't have time to look up to make sure assigning to a variable explicitly does.)while(defined(my $line = <FILE>)) { next if ($line =~ /#.*?,/); my @units=split(/,/, $line); for ($i = 0; $i <= 23; $i++) { if ($line =~ /$xcounits[$i]/) { $y[$i]++; $ytot++; $x[$i] += $units[5]; $xtot += $units[5]; } } }
The regex could be less cautious. If you want to skip comments, it's a lot easier just to do next if $line =~ /^#/;.
The loop there makes me wonder if you're better off with a hash. Anytime you find yourself looping through an array, looking for a particular element, you should ask if a hash would be more appropriate.
Looks like your next hurdle is learning some Perl idioms to make your life easier. Don't worry, they make more sense once you use them a few times.
Update: moen is right, so I fixed that little issue. Thanks!
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
RE: RE: Thoughts from a newbie
by moen (Hermit) on Oct 05, 2000 at 13:19 UTC |