下面的替换是什么意思?
if($sr_no =~ m/^0/)
{
$sr_no =~ s/^(0*)(.*)/$2/;
}
这是一种笨拙的写法$sr_no =~ s/^0+//
,即删除所有前导零。基本上是无用的if
,因为无论如何替换执行相同的逻辑(即如果没有匹配则不替换)。
它从字符串中去除前导零。
虽然我会把它写成
s/^0+//
即,将一个或多个 ( +
) 前导 ( ^
) 零 ( 0
) 替换为空 ( //
)。
将所有(由于*
)前面(由于^
)零替换为后面的所有内容(由于$2 = (.*)
)
sr_no
与正则表达式匹配^0
0
^(0*)(.*)
第二组
0
s。也可以看看:
m//
ands///
运算符的详细信息。