验证子进程的Perl参数
发布时间:2020-12-16 06:16:58 所属栏目:大数据 来源:网络整理
导读:所以我是Perl程序员的开始.我已经使用它大约一个月了,但是只有在过去一周左右我才将它用于除sysadmin类型任务之外的任何其他任务.这样做我遇到了以下问题, Perl子进程非常灵活,并且它们不会对您传入的参数施加许多/任何约束.如何强制执行参数数量和/或检查它
所以我是Perl程序员的开始.我已经使用它大约一个月了,但是只有在过去一周左右我才将它用于除sysadmin类型任务之外的任何其他任务.这样做我遇到了以下问题,
Perl子进程非常灵活,并且它们不会对您传入的参数施加许多/任何约束.如何强制执行参数数量和/或检查它们是否为引用,标量等等? 为了澄清,这是我目前为Perl子进程做的事情: sub mySub{ ($a,$b) = @_; continue and use these methods } 但这并不保证$a和$b持有什么.反正是为了确保它们包含值,比如$a的参考和$b的标量? 提前致谢. 编辑:当我说$b的标量时,我的意思是包含一个整数,而不是对其他一些数据结构的引用. 解决方法
您可以使用
Params::Validate模块,它提供了检查参数列表的广泛可能性.
在你的情况下,像 validate_pos(@_,{ type => HASHREF | ARRAYREF },{ type => SCALAR }) 会这样做(注意它没有“ref”的单一类型).当参数不匹配时它会死掉. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |