Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: Use of uninitialized value in array element

by Fastolfe (Vicar)
on Jul 12, 2002 at 16:16 UTC ( #181327=note: print w/ replies, xml ) Need Help??


in reply to Use of uninitialized value in array element

You could simplify your code a lot by working with hashes instead of arrays.

use List::Util 'sum'; while (<TABFILE>) { my @fields = split /\t/; my $identifier = shift @fields; my ($category, $group) = ($identifier =~ /^TS(\d+)(\w+)/); warn "Parse error", return unless $category && $group; # This may not be what you're doing, but change # this to do the calculations you need to do $sums{$group}->{$category} += sum(@fields); $totals{$group}->{$category} += @fields; } # Another way of cleaning up bad data foreach (keys %sums) { $sums{$_}->{CCFN30NT} += delete $sums{$_}->{CCCFN30NT}; $totals{$_}->{CCFN30NT} += delete $totals{$_}->{CCCFN30NT}; ... }
Also note that Excel can work with CSV or tab-delimited files natively, and more importantly, you can use formulas in Excel to calculate a lot of this. Your script need only output an Excel formula in a field (preceded with an equal sign) instead of calculating the value in advance.


Comment on Re: Use of uninitialized value in array element
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://181327]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (9)
As of 2014-12-27 06:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (176 votes), past polls