https://aaronreidsmith.github.io/blog/perl-weekly-challenge-113/