作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Perl 子程序,它要求用户输入。我在该子程序本身内部执行检查输入的输入是否为有效输入。
如果不是,我想再次调用子程序,让用户这次输入有效的输入。
我的子程序如下:
sub some_routine {
print "Enter a number to select (1) Apple (2) Mango (3) grapes:"
$value=STDIN;
if($value =~ /[^1-3]/ ) {
print "The input is not valid!";
print "Do you want to continue selecting a fruit again (Y or N)?";
$choice = STDIN;
if( $choice eq "y") {
### I want to call the subroutine again to enter input ###
} else {
exit;
}
}
}
最佳答案
要在 Perl 中递归调用子程序,只需从其自身调用子程序,就像在任何其他语言中一样:
sub factorial {
my $num = shift;
return 1 if $num < 2;
return $num * factorial($num - 1);
}
while
循环用于 :
my $valid;
while (!$valid) {
print "Enter something: ";
my $data = <STDIN>;
$valid = validate($data);
print "Bzzt! Invalid - try again!\n" unless $valid;
}
关于perl - 在 Perl 中输入无效输入时,如何要求用户重新输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1490971/
我是一名优秀的程序员,十分优秀!