Perl编程中的这个表达是做什么的?
$variable =~ /^\s*$/;
Perl编程中的这个表达是做什么的?
$variable =~ /^\s*$/;
这是寻找线开始(^),然后是零个或多个空格(\ S *)字符,后跟行结束($)。
它本质上是寻找空白/空行。
我希望见到的东西中使用类似的表达:为了进行检查和采取下列行动
if ($v =~ /^\s*$/) {
# found a blank line
}
。
什么也没有,因为您没有将此操作的结果分配给任何变量,也没有可能测试的副作用。
但是,如果你说
if ($variable =~ /^\s*$/)
{
print "something";
}
你会回答这个问题:
变量是否值由空行或由什么,但非打印空白字符,如线空格和制表符?
=~
是匹配运算符。
如果$ variable只包含空格或仅为空,则该语句返回true。
所以它只是检查字符串是否为空。
if ($variable =~ /^\s*$/)
相同
unless ($variable =~ /\S/)
或
if ($variable !~ /\S/)
短语“任意数量”是一个有点含糊,我想说的零个或多个空白字符来代替。 – 2009-06-11 13:49:21
我编辑得更清楚一点 – 2009-06-11 14:18:37