I heard about Advent of Code from a professor I was taking a class from. Basically, it's a set of puzzles you can use your computer to solve. It just describes the problem and gives you a (user-specific) input, and asks for the solution, so you can use any language to solve it.
I decided to do the Advent of Code in Perl, for the simple reason that I don't (didn't) know Perl. This is going to be a learning process, for sure. I'm learning mostly from the official perldocs, along with a liberal helping of Google,