什么Perl模块有助于验证子例程参数?

前端之家收集整理的这篇文章主要介绍了什么Perl模块有助于验证子例程参数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找一个通用模块,以从验证子程序和方法参数中获取这些苦差.我已经扫描了CPAN的各种可能性: Params::Validate,Params::Smart,Getargs::Mixed,Getargs::Long和其他几个.

任何关于这些或其他模块的利弊的信息将不胜感激.谢谢.

解决方法

如果你开始使用 Moose,你会发现你喜欢 MooseX::Types.类型自动有一个is_ $type()和to_ $type().这些是为了确保您输入传递类型约束,或使您的输入对该类型有有效的胁迫.我喜欢他们更好,即使是这些类型的东西,因为您可以确保您的对象的状态具有所述类型没有额外的成本. @H_403_8@use Moose; has 'foo' => ( isa => MyType,is => ro ); sub _check_my_type { my ( $self,$type ) = @_; is_MyType( $type ); };

它可能缺乏对深度/递归类型的一些支持,但是如果你在现代perl中使用这些东西,你可能会“做错了”.而是使用一个具有自己的一致性检查的对象(像我上面的MyType一样),只是传递对象.

猜你在找的Perl相关文章