https://jacoby.github.io/2019/10/08/code-reuse-and-perl-weekly-challenge-29.html