今天发现Perl中原来还有个while-continue这样的循环。其功能是除了在while中进行last语句外,每走一次while循环,再执行
紧接其后的continue语句,甚至包括next语句。并且在while(),括号中的变量是可以在continue中继续使用的,当然也包括$_。比如:
#!/usr/bin/perl
my $temp_file = "tmp.$$";#后缀是进城ID
open (TMP,"> $temp_file") or die("die:$!");
open (INPUT,"< megaliths.dat") or die("die:$!");
while (my $line = <INPUT>) {
#在continue中是undef
my $while = "above";
#根据预设的正则进行过滤,以缩小进一步修改的范围
next unless $line =~ //Q$some_pattern/;#/Q把特殊的正则元字符一般化
$line .= " append";
}
continue{
#即使在next语句后,continue仍然执行
print TMP "In continue $line/n";
print "[$while]/n";
}
close(TMP);
close(INPUT);
open A ,"<w.txt" or die $!;
while (<A>){
next if /5/;
print "1--\$_ is $_\n";
}
continue {print "2--\$_ is $_\n";}
zjzc01:/root/dbi# perl a3.pl
1--$_ is 1
2--$_ is 1
1--$_ is 2
2--$_ is 2
1--$_ is 3
2--$_ is 3
1--$_ is 4
2--$_ is 4
2--$_ is 5
1--$_ is 6
2--$_ is 6
1--$_ is 7
2--$_ is 7
1--$_ is 8
2--$_ is 8
1--$_ is 9
2--$_ is 9
1--$_ is 10
2--$_ is 10
perl while continue
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
下一篇:perl last 退出循环问题
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
perl while continue循环
今天发现Perl中原来还有个while-co...
perl 正则 while循环 元字符 后缀