for($x = $prevmax;$x<=$max;$x++) { $n = sqrt($x); $i = 0; while ($x%$p[$i] !=0) { $i++; if (($n < $p[$i]) & ($x > $p[-1])) # error here { print (1 & ($x > $p[-1])); push(@p,$x."\n"); last; } } }