#!/usr/bin/perl use strict; use integer; my $count = 0; my $top = 50; my @flags = (0 .. $top); for my $i (2 .. int(sqrt($top)) + 1) { next unless defined $flags[$i]; for (my $k=$i+$i; $k <= $top; $k+=$i) { undef $flags[$k]; } } print "Here is the list of primes from 1 to $top:\n"; for my $j ( 1 .. $top) { print ("$j ") && $count++ if defined $flags[$j]; } print "\n"; print "Number of primes found: $count\n";