如何在Perl中实时暂停
我对Perl很陌生,这是我在这里的第一篇文章,所以请温和一点 我在60秒的倒计时中使用real time,需要能够每10秒停止一次,然后用户必须在每10秒的间隔输入是否要继续倒计时。计时器工作,我只是不知道如何暂停它,让用户输入他们的响应。作为一个尽可能基本的答案将是非常受欢迎的,因为我还不了解很多。谢谢,这是我到目前为止的代码如何在Perl中实时暂停,perl,Perl,我对Perl很陌生,这是我在这里的第一篇文章,所以请温和一点 我在60秒的倒计时中使用real time,需要能够每10秒停止一次,然后用户必须在每10秒的间隔输入是否要继续倒计时。计时器工作,我只是不知道如何暂停它,让用户输入他们的响应。作为一个尽可能基本的答案将是非常受欢迎的,因为我还不了解很多。谢谢,这是我到目前为止的代码 my $countdown = 1*60; #60 seconds $| = 1; #disable output buffering my $start_time
my $countdown = 1*60; #60 seconds
$| = 1; #disable output buffering
my $start_time = time;
my $end_time = $start_time + $countdown;
for (;;) {
my $time = time;
last if ($time >= $end_time);
printf("\r%02d:%02d:%02d",
($end_time - $time) / (1*60),
($end_time - $time) / 60%60,
($end_time - $time) % 60,
);
sleep(1);
}
在收到用户的响应后更新
$end\u time
while (1) {
$countdown--;
$time = time;
last if ($time >= $end_time);
printf("\r%02d:%02d:%02d",
($end_time - $time) / (1*60),
($end_time - $time) / 60%60,
($end_time - $time) % 60,
);
sleep(1);
if ($countdown%10 == 0) {
print "Continue? ";
$answer = <>;
chomp $answer;
last if $answer ne 'y';
$end_time = time + $countdown;
}
}
while(1){
$倒计时--;
$time=时间;
上次if($time>=$end\u时间);
printf(“\r%02d:%02d:%02d”,
($end_time-$time)/(1*60),
($end_time-$time)/60%60,
($end_time-$time)%60,
);
睡眠(1);
如果($倒计时%10==0){
打印“是否继续?”;
$answer=;
咀嚼$answer;
最后如果$ANE'y';
$end_time=时间+倒计时$;
}
}
在收到用户的响应后更新$end\u time
while (1) {
$countdown--;
$time = time;
last if ($time >= $end_time);
printf("\r%02d:%02d:%02d",
($end_time - $time) / (1*60),
($end_time - $time) / 60%60,
($end_time - $time) % 60,
);
sleep(1);
if ($countdown%10 == 0) {
print "Continue? ";
$answer = <>;
chomp $answer;
last if $answer ne 'y';
$end_time = time + $countdown;
}
}
while(1){
$倒计时--;
$time=时间;
上次if($time>=$end\u时间);
printf(“\r%02d:%02d:%02d”,
($end_time-$time)/(1*60),
($end_time-$time)/60%60,
($end_time-$time)%60,
);
睡眠(1);
如果($倒计时%10==0){
打印“是否继续?”;
$answer=;
咀嚼$answer;
最后如果$ANE'y';
$end_time=时间+倒计时$;
}
}
在收到用户的响应后更新$end\u time
while (1) {
$countdown--;
$time = time;
last if ($time >= $end_time);
printf("\r%02d:%02d:%02d",
($end_time - $time) / (1*60),
($end_time - $time) / 60%60,
($end_time - $time) % 60,
);
sleep(1);
if ($countdown%10 == 0) {
print "Continue? ";
$answer = <>;
chomp $answer;
last if $answer ne 'y';
$end_time = time + $countdown;
}
}
while(1){
$倒计时--;
$time=时间;
上次if($time>=$end\u时间);
printf(“\r%02d:%02d:%02d”,
($end_time-$time)/(1*60),
($end_time-$time)/60%60,
($end_time-$time)%60,
);
睡眠(1);
如果($倒计时%10==0){
打印“是否继续?”;
$answer=;
咀嚼$answer;
最后如果$ANE'y';
$end_time=时间+倒计时$;
}
}
在收到用户的响应后更新$end\u time
while (1) {
$countdown--;
$time = time;
last if ($time >= $end_time);
printf("\r%02d:%02d:%02d",
($end_time - $time) / (1*60),
($end_time - $time) / 60%60,
($end_time - $time) % 60,
);
sleep(1);
if ($countdown%10 == 0) {
print "Continue? ";
$answer = <>;
chomp $answer;
last if $answer ne 'y';
$end_time = time + $countdown;
}
}
while(1){
$倒计时--;
$time=时间;
上次if($time>=$end\u时间);
printf(“\r%02d:%02d:%02d”,
($end_time-$time)/(1*60),
($end_time-$time)/60%60,
($end_time-$time)%60,
);
睡眠(1);
如果($倒计时%10==0){
打印“是否继续?”;
$answer=;
咀嚼$answer;
最后如果$ANE'y';
$end_time=时间+倒计时$;
}
}
在执行6次的循环中使用10秒倒计时
for my $i (1..6) {
if ($i != 1) {
print "\nContinue? ";
$answer = <>;
chomp $answer;
last if !( $answer eq 'y' || $answer eq 'yes' );
}
countdown(10);
}
在执行6次的循环中使用10秒倒计时
for my $i (1..6) {
if ($i != 1) {
print "\nContinue? ";
$answer = <>;
chomp $answer;
last if !( $answer eq 'y' || $answer eq 'yes' );
}
countdown(10);
}
在执行6次的循环中使用10秒倒计时
for my $i (1..6) {
if ($i != 1) {
print "\nContinue? ";
$answer = <>;
chomp $answer;
last if !( $answer eq 'y' || $answer eq 'yes' );
}
countdown(10);
}
在执行6次的循环中使用10秒倒计时
for my $i (1..6) {
if ($i != 1) {
print "\nContinue? ";
$answer = <>;
chomp $answer;
last if !( $answer eq 'y' || $answer eq 'yes' );
}
countdown(10);
}
$input=代码>将等待用户的输入。在循环中使用10秒计时器执行6次。每次循环中的减量$countdown
。用户回答提示后,使用当前时间和$countdown
的值重新计算$end\u time
。是否希望在等待用户输入时计时器暂停?我希望可以使用Perl实时暂停。这将是最方便的代码>将等待用户的输入。在循环中使用10秒计时器执行6次。每次循环中的减量$countdown
。用户回答提示后,使用当前时间和$countdown
的值重新计算$end\u time
。是否希望在等待用户输入时计时器暂停?我希望可以使用Perl实时暂停。这将是最方便的代码>将等待用户的输入。在循环中使用10秒计时器执行6次。每次循环中的减量$countdown
。用户回答提示后,使用当前时间和$countdown
的值重新计算$end\u time
。是否希望在等待用户输入时计时器暂停?我希望可以使用Perl实时暂停。这将是最方便的代码>将等待用户的输入。在循环中使用10秒计时器执行6次。每次循环中的减量$countdown
。用户回答提示后,使用当前时间和$countdown
的值重新计算$end\u time
。是否希望在等待用户输入时计时器暂停?我希望可以使用Perl实时暂停。这将是最方便的。这可能会阻止程序,但不会暂停计时器。他的代码中没有计时器,他只是倒计时,并在每次迭代之间休眠1秒。如果你花10秒回答,程序将运行60秒。如果回答需要20秒,程序将运行60秒。这不会暂停计时器,除非你回答最后一个问题的时间超过10秒。非常感谢你们的帮助!我尝试了两种代码,但Barmar的代码对我来说更好一些。再次感谢!这可能会阻塞程序,但不会暂停计时器。他的代码中没有计时器,他只是倒计时,在每次迭代之间睡眠1秒。如果你花10秒回答,程序将运行60秒。如果回答需要20秒,程序将运行60秒。这不会暂停计时器,除非你回答最后一个问题的时间超过10秒。非常感谢你们的帮助!我尝试了两种代码,但Barmar的代码对我来说更好一些。再次感谢!这可能会阻塞程序,但不会暂停计时器。他的代码中没有计时器,他只是倒计时,在每次迭代之间睡眠1秒。如果你花10秒回答,程序将运行60秒。如果回答需要20秒,程序将运行60秒。这不会暂停计时器,除非你回答最后一个问题的时间超过10秒