summaryrefslogtreecommitdiff
path: root/perl/p1.pl
diff options
context:
space:
mode:
Diffstat (limited to 'perl/p1.pl')
-rw-r--r--perl/p1.pl18
1 files changed, 18 insertions, 0 deletions
diff --git a/perl/p1.pl b/perl/p1.pl
new file mode 100644
index 0000000..e13aa31
--- /dev/null
+++ b/perl/p1.pl
@@ -0,0 +1,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";