美文网首页js css html
04.Perl -- 控制结构

04.Perl -- 控制结构

作者: QXPLUS | 来源:发表于2022-05-19 09:27 被阅读0次

if 控制结构

单条件

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

如果执行语句为多个:

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

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

多条件

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

unless结构

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

  • 当condition为假,执行statement1; 否则,执行statement2.
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";
    }
}
  • for循环的跳跃:next
    跳过本次循环

  • for循环的中断:``
    跳到循环的最后位置,此时循环就结束了,相当于其他语言的break

一个例子, 找出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";
    }
}

说明:

  • foreach 取得元素的顺序是随机的

  • 可以使用sort来对元素进行排序后,再取出
    sort{$a <=> $b}@array; # array都是数字时; array中的元素按照从小到大排列
    sort{$a cmp $b}@array; # array都是字母时; array中的元素按照从小到大排列

  • next last的用法与for中的用法类似

while 控制结构

语法:

while (条件) 执行语句;

或者

while (条件) 
{
    执行语句1;
    执行语句2;
    ...
}
  • 可以使用last跳出while循环

until 控制结构

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

  • until + continue
    当条件为假,执行 执行语句1,执行执行语句2 ; 否则,都不执行。
until (条件)
{
    执行语句1;
}
continue
{
    执行语句2;
}

switch 控制结构

Perl的源码中并不支持switch

语法:

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

相关文章

  • 04.Perl -- 控制结构

    if 控制结构 单条件 语法:if (condition) statement;如果condition为真, st...

  • Java入门到放弃--第四课--控制结构

    1、控制结构概述控制结构是控制程序如何运行的特殊的语句结构。控制结构可以分为:顺序控制结构,分支控制结构和循环控制...

  • Perl语言学习(四)Perl控制结构

    四、Perl控制结构 1、if控制结构 控制结构是逻辑实现的基石 三种基本的控制结构 if结构是程序最基本的控制结...

  • 【perl】控制结构——if控制结构

    if结构的语法 语法 单条件 if(条件)执行语句; if(条件){  执行语句1;  执行语句2;} 执行语句 ...

  • [JS基础]笔记四

    js流程控制语句 流程控制 顺序结构、分支结构、循环结构 分支结构 if 分支结构 if else 双分支结构语句...

  • 控制结构

    Scala程序控制结构 注意:与if不同的是,while与do while不能用作表达式,也即其返回值为Unit,...

  • 流程控制的基本概念

    流程控制是指控制代码的执行顺序。 在JavaScript中,有三种基本的流程控制结构:顺序结构、选择结构和循环结构...

  • Perl学习笔记6——其他控制结构

    unless控制结构 在if控制结构中,如果条件表达式返回真,就执行代码块。而unless控制结构与if相反,只有...

  • 控制语句

    Java语言中控制语句可以分为7种,①控制选择结构语句 If , If else ,switch ②控制循环结构...

  • Java基础03_流程控制语句_顺序_选择_循环

    主要内容 顺序结构 选择结构 循环结构 学习目标 三种控制结构熟练使用 前言 流程控制 流程控制: 在一个程序执行...

网友评论

    本文标题:04.Perl -- 控制结构

    本文链接:https://www.haomeiwen.com/subject/qfjaurtx.html