js css html

04.Perl -- 控制结构

2022-05-19  本文已影响0人  QXPLUS

if 控制结构

单条件

语法:
if (condition) statement;
如果condition为真, statement语句执行;否则跳过。

如果执行语句为多个:

if (condition) {
  statement1;
  statement2;
  ...
}

执行语句(单个)也可以写在前面:
statement if (condition)

多条件

if (condition1) {
  statement1;
}
elsif (condition2) {
  statement2;
}
else{
  statement3;
}

unless结构

unless结构是if结构的反义结构

unless (condition) {
  statement1;
}
else {
 statement2;
}

foreach 控制结构

for 控制结构

语法:

for (初始值;条件;表达式){
  执行语句;
}

一个例子, 找出array中值大于60的元素:

use strict;
use warnings;

my @array = (1,2,3..50,55,60,43,32,82..99);
# 将数组赋值为一个变量,变量得到的是数组元素的个数
my $length_array = @array;
for (my $i=0; $i<$length_array; $i++)
{
    if ($array[$i] > 60)
    {
        printf "item $i, value is $array[$i]\n";
    }
}

一个例子, 找出array中第一个值大于60的元素:

use strict;
use warnings;

my @array = (1,2,3..50,55,60,43,32,82..99);
# 将数组赋值为一个变量,变量得到的是数组元素的个数
my $length_array = @array;
for (my $i=0; $i<$length_array; $i++)
{
    if ($array[$i] < 60)
    {
        printf "item $i, value is $array[$i]\n";
        next;
    }
    else
    {
        printf "i is $i, its value is $array[$i], greater than 60\n";
        last;
}

foreach 控制结构

foreachfor循环结构的一种变体,
foreach 循环会逐个遍历列表中的值,并依次迭代执行循环过程。

语法:

foreach 变量 (列表)
{
    执行语句;
}

一个例子, 找出array中值大于60的元素:

use strict;
use warnings;

my @array = (1,2,3..50,55,60,43,32,82..99);

foreach my $item (@array)  # 元素的读取是无序的
{
    if ($item > 60)
    {
        printf "item  is  $item \n";
    }
}

默认变量

$_ : 会取perl中的默认变量值
一个例子, 找出array中值大于60的元素:

use strict;
use warnings;

my @array = (1,2,3..50,55,60,43,32,82..99);

foreach  (@array)  # 元素的读取是无序的
{
    if ($_ > 60)
    {
        printf "item  is  $_ \n";
    }
}

说明:

while 控制结构

语法:

while (条件) 执行语句;

或者

while (条件) 
{
    执行语句1;
    执行语句2;
    ...
}

until 控制结构

until 结构和while 结构 相反, 当条件为假时,才执行循环语句。
类似于ifunless 的关系

until (条件)
{
    执行语句1;
}
continue
{
    执行语句2;
}

switch 控制结构

Perl的源码中并不支持switch

语法:

switch (条件)
case 条件值1: 执行语句1;
case 条件值2: 执行语句2;
default: 执行语句(都不满足)
上一篇下一篇

猜你喜欢

热点阅读