Perl-10---流程控制结构

一、条件语句:有以下几种类型

1、if (条件表达式)  {语句块}

2、单条Perl语句     if( 条件表达式);

3、if (条件表达式)  {语句块1}

      else  {语句块2}

4、if (条件表达式1)  {语句块1}

      elsif (条件表达式2)  {语句块2}

      elsif (条件表达式3)  {语句块3}

        ...................

      elsif (条件表达式N-1)  {语句块N-1}

      else {语句块N}

二、循环语句:有以下几种类型

1、while循环

      while(真值条件表达式)   { #循环体 }

2、until循环

      until(假值条件表达式)    { #循环体 }

3、do语句:常与while循环或until循环一起使用,do语句至少要把循环体执行一次;

     do

      {

          #循环体;

      }  while(真值条件表达式);

      或

      do

      {

          #循环体;

      }  until(假值条件表达式);

      这两种循环的特点是:每次循环,先执行循环体,然后判断条件表达式;

      需要注意的是:do语句块种不能使用标号;do-until结构内不能使用next、redo或last语句;

4、for循环

标准得for语句:

for(表达式1;表达式2 ;表达式3)  { #循环体 }

有两种场合可以使用该循环:

A:循环次数确定得场合;

B:循环次数不确定,但是明确给出循环结束条件;

for语句最简单得应用形式如下:

for(循环变量初值;循环条件;循环变量值修改)   { #循环体 }

5、foreach循环

这类循环得意义实际上与for语句得意义一样;foreach能做的事情,for语句照样能做;一般这样区分for语句和foreach语句:

A:for循环多用于循环次数确定的环境;

B:foreach循环多用于处理数组和哈希变量;

foreach语句利用Perl提供的内置列表属性来重复数组或列表;foreach处理数组、列表或哈希变量的方式如下:

foreach SCALAR  (LIST) { #循环体 }

foreach循环有一个内置的列表/数组元素访问操作器,能够访问到数组、列表或哈希变量中的每一个元素;每次通过循环的时候,SCALAR就被赋予LIST中的下一个元素,然后循环体被执行;每次循环只处理列表中的一个元素,处理完所有元素之后,列表返回一个null值,也就是为假,此时退出循环;

foreach循环可以省略列表变量SCALAR(循环控制变量),此时的foreach循环的格式如下:

foreach  (LIST)   { #循环体 }

如果省略了列表变量SCALAR,Perl解释器会把列表中的每一个元素一个一个地赋值给默认的特殊变量“$_”,此时就把这个特殊变量“$_”看作事这个foreach循环的列表变量,它与列表变量SCALAR的功效相同;

列表变量的作用域仅仅限于foreach循环体中,它不影响循环体外的同名变量;这一点与for循环中的循环控制变量不同;

用foreach循环处理数组:

foreach   $Variable  (@Array)   { #循环体 }

用foreach循环处理数组时,如果改变了数组循环变量$Variable,那么就会改变数组中相应元素的值,这和用foreach循环处理列表时大不相同;

用foreach循环处理哈希变量:

由于哈希变量是使用任意类型的关键字来作为下标索引的数组,而且哈希变量的索引不按次序存放,也不按顺序读出,所以用foreach循环处理哈希变量的时候要配套地使用函数keys()和values():

foreach  $Index (keys(%Hash))   { #循环体 }

foreach  $Index (sort(keys(%Hash)))   { #循环体 }

foreach  $Value  (values(%Hase))   { #循环体 }

Perl提供的存放系统当前环境变量的内置特殊哈希变量:%ENV

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值