我正在尝试编写一个函数来验证用户名的字母数字值,如果失败,它应该记录我的自定义错误消息并将 0 返回到被调用的函数而不是死掉:
sub insertUser{
my ( $username, $password, $email, $name) = validate_pos( @_,
{ type => SCALAR,
regex => qr/^\w+$/,
on_fail => { $err->error("username validation failed"),return 0 }
},
{ type => SCALAR },
{ type => SCALAR },
{ type => SCALAR ,optional => 1,default => 99});
print "$username, $password, $email, $name ";
}
使用上面的代码,我面临一个问题,比如在成功的情况下它仍然返回 0。任何人都可以在这方面帮助我吗?谁能解释我为什么这样做?