While the Perl examples on Rosetta Code are correct, some of them reflect an older style of using the language. After all, Perl has been around since the 80s; Perl5 was released in 1994. Things that were barely manageable on a 386 running at 16 MHz with 4MB of RAM are a breeze, now.

Object-Oriented Perl has been transformed by the development of Moose and its lightweight cousins, Mouse, Moo, etc.

A number of modules encourage good non-OO style and simplify the boilerplate involved, such as Modern::Perl. I've decided to treat one of those modules, perl5i, as if it were a language on its own. While the existing code focuses on the use of Perl as a quick and easy scripting language, I want to emphasize its use for more engineered situations. Where I use OO, I've gone for a minimal style. As well, I've avoided POD and used minimal per-routine documentation.