加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

验证子进程的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”的单一类型).当参数不匹配时它会死掉.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读