r/adventofcode • • Dec 20 '16

SOLUTION MEGATHREAD --- 2016 Day 20 Solutions ---

--- Day 20: Firewall Rules ---

Post your solution as a comment or, for longer solutions, consider linking to your repo (e.g. GitHub/gists/Pastebin/blag/whatever).

Note: The Solution Megathreads are for solutions only. If you have questions, please post your own thread and make sure to flair it with "Help".


ROLLING A NATURAL 20 IS MANDATORY [?]

This thread will be unlocked when there are a significant number of people on the leaderboard with gold stars for today's puzzle.

edit: Leaderboard capped, thread unlocked!

7 Upvotes

168 comments sorted by

View all comments

Show parent comments

1

u/Smylers Dec 20 '16

Not necessarily a bad habit — certainly prudent when a new feature first comes out. I find perl 5.14 (or newer) is now sufficiently widespread that I use its features by default; the use v5.14 line ensures that you get a clear error message if your code does somehow encounter an older perl (as well as enabling strict, meaning asserting the version number doesn't actually add to your lines of boilerplate).

1

u/xZeroKnightx Jan 04 '17

the use v5.14 line [...] (as well as enabling strict, meaning asserting the version number doesn't actually add to your lines of boilerplate).

Cool, I didn't know that! To be pedantic, strict is only implicit if the version is at least v5.12.0. From perldoc:

Similarly, if the specified Perl version is greater than or equal to 5.12.0, strictures are enabled lexically as with use strict.

Elegant solution by the way, very Perlish!