https://github.com/manwar/perlweeklychallenge-club/blob/master/challenge-260/mark-anderson/blog-2.md