while循环语法:
while(some_expression){
statment_1;
statment_2;
....
}
程序执行到while语句时,首先检查控制语句(some_expression),若其值为真,就会执行循环体一次,如此反复不停的执行,知道控制语句的值为假,则停止while循环
示例:
#!/usr/bin/perl -w
$number=10;
while($number > 0){
print ("number is $number\n");
--$number;
}
until循环语法
until( some_expression ){
statment_1;
statment_2;
...
}
与while语句相反,some_expression 值为假则执行循环体,为真则停止循环
示例:
#!/usr/bin/perl -w
$number=10;
until($number <= 0){
print ("number is $number\n");
--$number;
}
do while 循环和do until 循环 语法
do while 或 do until 循环 至少执行一次循环体,然后才检查条件。
do {
statment_1;
statment_2;
...
}while(some_expression);
do while 循环,条件表达式为假则循环结束
do {
statment_1;
statment_2;
...
}until(some_expression);
do until 循环,条件表达式为真则循环结束
for循环
for语句主要用于确定次数的循环,语法如下:
for(其实语句;测试语句;步进语句){
statment_1;
statment_2;
....
}
系统会首先执行起始语句。一般可以在这里为变量赋值,不过这不是硬性规定,甚至可以什么都不写,但是分号还是要写。测试语句的值若为真,循环体被执行一次,接着执行步进语句。
foreach循环
foreach循环可以接收一个列表,将其中的数据作为参数一次一个赋给某标量变量,并执行每一条有效赋值的代码块语句。其语法如下:
foreach $i (@some_list){
statment_1;
statment_2;
....
}
示例:
#!/usr/bin/perl -w
foreach (1..10){
print " ";
print;
}
print "\n";
foreach所用的列表跨越式任何值为列表的语句,不一定要数组变量,甚至可以不写标量变量,让perl使用默认变量 $_ 。如不指定任何值给print ,就会打印出$_ 的内容。
如果在应该使用列表值的地方使用了真正的变量,取代返回列表的函数,那么perl会在循环中把用到的变量视为传入的变量的别名,而不仅仅是拷贝值而已。这样,如果在循环中改变了该标量变量,列表里的对应元素也会被相应改变。例如:
#!/usr/bin/perl -w
@x=(1..10);
foreach $num (@x){
$num += 10;
}
print "@x";
print "\n";
foreach执行完后,数组@x 的值改变了。