LINE: while (<STDIN>) {
last LINE if /^$/; # exit when done with header
#...
};
jrhmpt01:/root# cat w.pl
while (1==1){
for ($i = 1;$i <= 10;$i++){ #从1数到10
print "1----------$i is $i
";
if ($i == 7){print "2-------$i is $i
";last;}
}};
print "xxxxxxxxxxxxxx
";
1----------$i is 1
1----------$i is 2
1----------$i is 3
1----------$i is 4
1----------$i is 5
1----------$i is 6
1----------$i is 7
2-------$i is 7
1----------$i is 1
1----------$i is 2
1----------$i is 3
1----------$i is 4
1----------$i is 5
1----------$i is 6
1----------$i is 7
2-------$i is 7
1----------$i is 1
1----------$i is 2
1----------$i is 3
1----------$i is 4
1----------$i is 5
1----------$i is 6
1----------$i is 7
2-------$i is 7
这里的last 是退出了if的循环,而没有退出while 循环
jrhmpt01:/root# cat w.pl
$i=1;
while (1==1){
$i++;
print "1----------$i is $i
";
if ($i == 7){print "2-------$i is $i
";last;}
};
print "xxxxxxxxxxxxxx
";
jrhmpt01:/root# perl w.pl
1----------$i is 2
1----------$i is 3
1----------$i is 4
1----------$i is 5
1----------$i is 6
1----------$i is 7
2-------$i is 7
xxxxxxxxxxxxxx
此时last 退出while 循环