#!/usr/bin/perl -w

use strict;

my $DESDE=2;
my $HASTA = $ARGV[0] // 1000000;

my @esprimo;

# /* in dubbio pro reo */

@esprimo = (1) x ($HASTA+1);

my $numprimos=0;
for my $i ($DESDE..$HASTA){
    if ($esprimo[$i]==1){
	$numprimos++;
	print "$i\n";
	for (my $j=$i*$i; $j<=$HASTA; $j+=$i){        
	    $esprimo[$j]=0;
	}
    }
}

print "\nEl número de primos entre $DESDE y $HASTA es de $numprimos\n";

__END__
