perl笔记之条件和循环(一)

本文详细介绍了Perl语言中的条件和循环语句用法,包括if、unless语句的不同形式及其实例,帮助读者掌握Perl的基本流程控制结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

perl笔记之条件和循环(一)

1 if语句

  • 第一种if语句
if(expression)  #如果expression为真,则执行block中的语句
{
   block;
}

如果block中只有一条语句,那么if语句还可以写成:

expression_2  if(expression_1);
  • 第二种if语句
if(expression)    #如果expression为真,则执行block_1
{
   block_1;
}
else                     #如果为假,则执行block_2
{
   block_2;
}
  • 第三种if语句
if(expression_1)
{
   block_1;               #如果expression_1为真,则执行block_1
}
elsif(expression_2) 
{
   block_2;               #否则判断expression_2,若真则执行block_2,否则往下执行
}
...
else 
{
   block_n;               #如果上面的elsif种的条件均不满足,则执行block_n
}

例1

my $num = 12;
if($num >= 0)
{
    print "$num\n";               #这里$num的值大于1,条件为真,执行print语句
}  
执行结果:
12

例2

open(FL,"DATA") || die"$!\n";   #打开文件句柄
my $num1 = 0;  #申明两个变量
my $num2 = 0;
my $line;   #声明$line变量用于保存从句柄读取的数据
while($line = <FL>)  #读数据
{
    if($line =~ /love/)
    {
        $num1 += 1;
     }                                   #如果匹配到love, $num1加1,否则$num2加1
    else
    {
        $num2 += 1;                    
    }
}
close(FL);
print "文件中有$num1个love"#打印
print "文件中有$num2个不是love"__DATA__
love 
love
love
love
love
fascinate
执行结果:
文件中有5个love
文件中有1个不是love

例3

my $num = <stdin>;
if($num < 18)  print"too young too simple sometimes naive!\n";
elsif($num > 35) print "you are too old , party is not for you\n";
else print "ok, let's go party\n";
执行结果:
20
ok, let's go party
10
too young too simple sometimes naive!
40
you are too old , party is not for you

2 unless语句
如果想要if条件为假的时候执行block,则需要用到感叹号!。

if(!expression)
{
   block;
}

上面的程序不方便理解,所以产生了unless,意思就是除非,除非条件是假,否则就不执行block,这样使程序可以更灵活。

unless(expression)
{
   block;
}

例4

while (my $line = <stdin>){           #从控制台读取输入到$line
   unless($line == 2)                      #只要输入的数据不是2,就打印wrong number;
   {
       print "wrong number";
   }
}
执行结果:
3
wrong number
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值