summaryrefslogtreecommitdiff
path: root/perl/p1.pl
blob: 00ff110997c75a769f5782ac6c43da65c3ab79b6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/env perl

use strict;
use warnings;
use List::Util qw(reduce);

# Functional
print (reduce { $a + $b } (grep { $_ % 3 == 0 || $_ % 5 == 0 } 1..999));
print "\n";

# Imperative
my $sum;
foreach my $i (1..999) {
    if ($i % 3 == 0 || $i % 5 == 0) {
        $sum += $i;
    }
}
print "$sum\n";