Dandello has asked for the wisdom of the Perl Monks concerning the following question:
ACK!
sub popnum3 { my ( $x, $y, $z ) = @_; my @row = @{$aob[ $y - 1 ]}; my $mean = mean(@row); $aob[$x][$y] = $mean * ( 1 + $z ); return $aob[$x][$y]; }
This subroutine is failing randomly - it will (apparently) run properly for 500+ lines then throw an 'undefined value in ARRAY reference'. The line referred to in the error message is my @row = @{$aob[ $y - 1 ]};
Now, $x is a column reference, $y is a row reference, $z is a pre-defined random number. @aob is a 2-d array that is also printed to a file since it has to be accessed later by a different script - I can look at that file and know that row $y-1 is fully populated. Running diagnostics also tells me that $x, $y and $z all have appropriate numeric values. When the subroutine does throw this error - $x is always 0.
Obviously I'm missing something in regards to turning row $y-1 of array @aod into @row, so pointing me in the right direction is appreciated.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: undefined value in array reference
by kennethk (Abbot) on Mar 31, 2011 at 18:02 UTC | |
by wind (Priest) on Mar 31, 2011 at 18:15 UTC | |
by Dandello (Monk) on Mar 31, 2011 at 18:55 UTC | |
by kennethk (Abbot) on Mar 31, 2011 at 19:09 UTC | |
by Dandello (Monk) on Mar 31, 2011 at 21:43 UTC | |
by kennethk (Abbot) on Mar 31, 2011 at 21:56 UTC | |
| |
|
Re: undefined value in array reference
by davido (Cardinal) on Mar 31, 2011 at 18:53 UTC | |
by Dandello (Monk) on Mar 31, 2011 at 19:05 UTC |