my $cnr = 0; while ($cnr < 1) { my $xda = int rand (0 .. $total); if ( $aob[$xda][ $y - 1 ] ne q{}) { $aob[$x][$y] = $z + $aob[$xda][ $y - 1 ]; $cnr++; } } #### my @delarray = ( 0 .. $total ) my $cnr = 0; my @dlarray = shuffle @delarray; for my $xd ( 0 .. $total ) { my $xda = $dlarray[$xd]; if ( $cnr <= 1 && defined $aob[$xda][ $y - 1 ] ) { $aob[$x][$y] = $z + $aob[$xda][ $y - 1 ]; $cnr++; } }