Perl 修改循环控制流的语句
发布时间:2020-12-15 23:44:01 所属栏目:大数据 来源:网络整理
导读:标记修饰符 标记有自己的命名空间,和标量变量、列表、hash、函数一样,不过由于它没有特别的前置符号,所以在命名上有一些限制:如尽量不要和其他的命名冲突,标记名称最好由大写字母和数字构成,这样保证不会和任何保留字冲突,而且看起来也比较明显。选定
标记修饰符 标记有自己的命名空间,和标量变量、列表、hash、函数一样,不过由于它没有特别的前置符号,所以在命名上有一些限制:如尽量不要和其他的命名冲突,标记名称最好由大写字母和数字构成,这样保证不会和任何保留字冲突,而且看起来也比较明显。选定标记之后,只要把它放在需要的语句前面,并加上冒号即可,下面是此用法的一个示例: MYLABEL: while(condition){ statement1; statement2; if(another_condition){ last MYLABEL; } } last语句 使用不带标号的修饰符的last语句时,退出当前语句块,使用带标号的修饰符的last语句时,退出与所带标号修饰符相关的语句块。 #!/usr/bin/perl -w @x=('A'..'Z'); for ($index = 0;$index < @x ;$index++){ if($x[$index] eq 'T'){ last; } } print "$indexn";简单来说,last的意思是退出循环,与C语言中的break作用相同。 next语句 #!/usr/bin/perl -w @array=(0..9); for ($index = 0;$index < @array ;$index++){ if( $index == 3 || $index == 5 ){ next; } $array[$index] = '*'; } print "@arrayn";简单来说,next的含义是执行下一个循环,与C语言的continue作用相同。 redo语句 #!/usr/bin/perl -w for($i=0;$i<1;$i++){ print("What's your name?n"); $name=<STDIN>; chomp($name); if( ! length($name)){ print("Msg: Zero length input,Please try again!n"); redo; } } print("Thank you ".uc($name)."n");redo是Perl的一个特有命令,其含义是重复此次循环,即循环变量不变,回到循环起始点。但要注意,redo命令在do循环中不起作用。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |