https://wp.jochen.hayek.name/blog-en/2013/11/27/a-perl-module-helping-to-validate-subroutine-parameters-paramsvalidate/
a Perl module helping to validate subroutine parameters: Params::Validate