perl中if的匹配条件

if的匹配条件语法 : if ( $a =~ m/ ... /){ ... }

通常我们会看到这样的语句:if ( / ... / ){ ... }

没有变量$a, 其实不然,在仔细看看,这句应该是在读取一个文件之类的,实质上有变量$_,当$_作为变量时,我们可以在条件中省略,因为if知道谁是变量 。


例如:

$a = "char22";

if(my ($a) = $a =~ /char(\d+)/){
    print ($a);
}

如果是在读取<FD>,完全可以写成:


if(my ($a) = /char(\d+)/){
    print ($a);
}

因为此时匹配的变量为$_。


注意输出结果为:22.

相当于 变量$a 获取$1的值(捕捉第一个小括号)。


请看下面:

$a = "dfd12";

if(my ($a) = $a =~ /dfd(\d)(\d+)/){
    print ($a);
}

结果为:1。


声明:该文章为原创,如需转载请注明出处和作者。作者:No. Liu

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值