aboutsummaryrefslogtreecommitdiff
path: root/challenge-198/luca-ferrari/postgresql/ch-2.plperl
blob: 39d1113737d56ee80256102534fcab816412bc9a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
CREATE SCHEMA IF NOT EXISTS pwc198;

CREATE OR REPLACE FUNCTION
pwc198.task2_plperl( int )
RETURNS int
AS $CODE$
   my ( $n ) = @_;

   my $is_prime = sub {
      for ( 2 .. $_[0] - 1 ) {
      	  last if $_ * 2 > $_[0]; 
      	  return 0 if $_[0] % $_ == 0;
      }

      return 1;
   };

   my $counter = 0;
   $counter += $is_prime->( $_ )  for ( 2 .. $n );

   return $counter;
$CODE$
LANGUAGE plperl;