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