Perl根据用户输入结束循环/代码块(!die / exit)

时间:2012-07-25 17:40:52

标签: perl exit terminate die

当我正在玩我编码的一些东西时,出现了一个普遍的问题。我想知道是否有任何方法可以根据用户反馈终止程序的特定部分(我在这里滥用术语时道歉)除了die();因为这结束了整个计划。

这是代码:

if ($choice eq 'y'){
print "\nHit diagnostics: \n";
{
my $hitList=@hitList;
for (my $i=0; $i<$hitList; $i++){
    print $hitList[$i]."\n";
    #segmented listout of misses with interrupt 
    if(($i%4) eq 0){
        print "CONTINUE or Q to end\n";
        my $next=<>;
        chomp($next);
        if(lc($next) eq 'q'){
            **die "Killing request...\n";**
            }
        }
    }
}

所以基本上我只是希望用户能够结束模数if循环,如果他们在某个时候决定他们实际上不想看到整个列表但仍然能够继续(有一个未命中提示之后以及该计划。

这样做的最佳方法是将变量用作“开关”来确定命中列表是否应该继续?只是想知道是否有更可接受/更优雅的解决方案。

1 个答案:

答案 0 :(得分:3)

for my $i (0..$hitList-1) {
   ...
   if (...) {
       last;
   }
   ...
}

last