我为一个儿童演示做了一个小的perl程序,我试图用clear
子程序保持屏幕清洁和简单,但它只在第一次工作,并且然后不会响应输入,只清除屏幕,我无法解决原因。我也确定通常有一种更简单的方法可以做到这一点,所以也许整个事情都应该废弃。
有一个来自STDIN的查询提示,然后一旦它检查了它调用restart
子的数据库。
我有什么:
while (my $seq = <STDIN>){
chomp($seq);
if (exists $references{$seq}){
... blah blah blah
sleep(2);
&restart;
}else{
print "\nOops! This doesn't exist!\n";
sleep(2);
&restart;
}
}
sub restart {
print "\nPress Enter to restart\n";
while (my $in = <STDIN>){
if($in eq "\n"){
system("clear");
print $prompt;
}
}
}
感谢您的期待!
答案 0 :(得分:3)
在dd if=old-sdb2-pt.vmdk of=sdb2-pt.vmdk bs=1 count=440
中,您再次循环sub restart
。这将继续循环,而不返回主循环,直到STDIN收到EOF。您可以在<STDIN>
之后放置return
以返回主循环。