三种控制结构/chomp/defined

if控制结构

if 示例

if ($name gt 'John'){
    print "$name coms after 'John' in sorted order.\n";
}

if else 示例

if ($name gt 'John'){
    print "$name" comes after 'John' in sorted order.\n";
}else{
    print "xxxxxx";
}

while控制结构

只要条件持续为真,就会不断执行代码块

$count = 0;
while ($count < 10){
    $count += 2;
    print "count is now $count\n";
}

foreach控制结构

doreach(循环)能逐个项遍历列表中的值

foreach $rock (qw/ bedrock slate lava/){
    print "One rock is $rock.\n"; #依次打印所有三种石头的名称
}

while与foreach的区别

在while循环里,Perl会读取一行输入,把它存入某个变量并且执行循环的主体,接下来它会回头去寻找其他的输入行。
在foreach循环里,行输入操作符会在列表上下文中执行(因为foreach需要逐项处理列表内容)。为此,在循环能否开始执行前,它必须先将输入全部读进来。加入输入来自400MB的Web服务器日志文件,它们的差异会十分明显。
所以最好的做法通常是尽量使用while循环的简写,让它每次处理一行

布尔值

perl并没有专用的“布尔(boolean)”数据类型,它靠一些简单的规则来判断

  • 如果是数字,0为假;所有其他数字都为真
  • 如果是字符串,空字符串(”)为假;所有其他字符串都为真
  • 如果即不是数字也不是字符串,那就先转换成数字或字符串再行判断

chomp操作符

作用:如果字符串末尾是换行符,chomp()的任务就是去掉它
常用方法:

chomp($text = <STDIN>); #读入文字,略过最后的换行符

defined函数

作用:判断某字符串是undef还是空字符串,如果是undef,该函数返回假,否则返回真

$madonna = <STDIN>;
if ( defined($madonna)){
    print "The input was $madonna";
}else{
    print "No input available\n";
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值