#!/usr/bin/perl use strict; use warnings; use POSIX; my ($i,$j,$h,$sentinel) = (0,0,0,0); # i>=3 for($i=1000000000; $i<=1000000500; $i++){ # if $i is an even number, it can't be a prime if($i%2==0){} else{ $h=POSIX::floor(sqrt($i)); $sentinel=0; # since $i can't be even -> only divide by odd numbers for($j=3; $j<=$h; $j+=2){ if($i%$j==0){ $sentinel++; # $i is not a prime, we can get out of the loop $j=$h; } } if($sentinel==0){ print "$i \n"; } } }