#! C:\Perl\bin\perl.exe print "Max? "; $a = ; $f = 0; $sqrt = (sqrt $a); @numbers = (); open(PRIMES, "c:/perl/tpl.txt") || die "Can't find primes.txt"; while ($f < $sqrt){ $numbers[$f] = ; $f++; } seek PRIMES, -11, 2; $numbers[$f] = ; close(PRIMES); chomp @numbers; $b = pop @numbers; $e = $b; while ($b <= $a) { $numbers[$sqrt] = $b; $b++; $sqrt++; } $sqrt = (sqrt $a); $prime = 0; while ($prime < $sqrt) { $prime = shift @numbers; @numbers = grep $_ % $prime != 0, @numbers; print "$prime\n"; } open(CURPRIMES, ">>c:/perl/primes.txt") || die "Can't find primes.txt"; open(PRIMES, ">>c:/perl/tpl.txt") || die "Can't find primes.txt"; $length = scalar @numbers; for ($c=0; $c<$length; $c=$c+1) { if ($c % 1000 == 0){ print "$numbers[$c]\n"; } if ($numbers[$c] > $e){ print CURPRIMES "$numbers[$c]\n"; } } $c--; print PRIMES "$numbers[$c]\n"; close(CURPRIMES); close(PRIMES);