循环结束程序。 - Perl

时间:2014-05-27 18:25:20

标签: perl function loops

这是我的代码,很简单。当有人写"结束"我想结束节目。从推荐线:)

#!/usr/bin/perl
$value = "end";

while($val = <>){
    if($value eq $val){last};
    };

2 个答案:

答案 0 :(得分:3)

只需插入一个chomp,它将在比较之前删除换行符。

#!/usr/bin/perl
$value = "end";

while($val = <>){
    chomp $val;
    if($value eq $val){last};
    };

答案 1 :(得分:2)

您说当某人提供end时,您希望程序结束,这就是代码所做的事情。但是,您通过提供end后跟换行符进行了测试。如果已提供,则允许删除尾随换行符。

while (my $val = <>) {
    chomp($val);             <-- The relevant change
    last if $val eq 'end';
    ...
}