tags:

It wasn’t my plan to get into all things Euler when I started this thread two posts ago.

However it has been a nice little tangent and doing a Google on Perl+Euler does throw up a number of links (over 100K of them in fact). Its worth following up some of these and playing around with the problem and the published code.

One such link is the blog post Distrust Simplicity: PROJECT EULER, PROBLEM #1. This post shows solutions to Euler problem 1 in Ruby, Python, Common Lisp, Clojure, Haskell and Perl.

Here is the Perl solution provided in said post:

```#!/usr/bin/perl
use strict;
use List::Util qw(reduce);

# find the natural numbers less than 1000 divisible by 3 or 5
my @multiples = ();
foreach (1..999) {
if (\$_ % 3 == 0 || \$_ % 5 == 0) { push(@multiples, \$_); }
}

# sum them
print reduce { \$a + \$b } @multiples;
```

This could be simplified with a functional twist like most of the other solutions provided:

```use Modern::Perl;
use List::Util qw(sum);

say sum grep { \$_ % 3 == 0 || \$_ % 5 == 0 } 1..999;
```

And lets not forget our mandatory autobox variation!

```use Modern::Perl;
use autobox::Core;

[1..999]->grep( sub{ \$_ % 3 == 0 || \$_ % 5 == 0 } )->sum->say;
```

Another link I noticed which may bear fruit in the future is a very new Github repo for Project Euler solutions in Modern Perl.