Beefy Boxes and Bandwidth Generously Provided by pair Networks Bob
Syntactic Confectionery Delight
 
PerlMonks  

Re: Use of uninitialized value

by farang (Friar)
on Aug 11, 2013 at 05:14 UTC ( #1048975=note: print w/ replies, xml ) Need Help??


in reply to Use of uninitialized value

I get those warnings (with use warnings in effect). The problem comes from this loop.

my @lnPAM1=(); LINE: for (my $i=0; $i<20; $i++){ for (my $j=0; $j<20; $j++){ if ($matrix[$i][$j] > 0){ $lnPAM1[$i][$j] = log $matrix[$i][$j]; }else{ next LINE; } } }

When a matrix element equals zero, that value of @lnPAM1 remains undefined, and that undefined value is being used at line 64.

$lnPAM1[$i][$j]= ($lnPAM1[$i][$j]) /($mutrate*100);

For instance, $lnPAM1[0][17] and $lnPAM1[0][18] are undef. To avoid the warnings, you'll need to either assign some value to all of them or exclude matrix elements which are undef from executing line 64.


Comment on Re: Use of uninitialized value
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (4)
As of 2014-04-19 21:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (483 votes), past polls