2009-06-11 140 views
1

Perl编程中的这个表达是做什么的?

$variable =~ /^\s*$/; 

回答

16

这是寻找线开始(^),然后是零个或多个空格(\ S *)字符,后跟行结束($)。

它本质上是寻找空白/空行。

我希望见到的东西中使用类似的表达:为了进行检查和采取下列行动

if ($v =~ /^\s*$/) { 
    # found a blank line 
} 

+0

短语“任意数量”是一个有点含糊,我想说的零个或多个空白字符来代替。 – 2009-06-11 13:49:21

+0

我编辑得更清楚一点 – 2009-06-11 14:18:37

1

什么也没有,因为您没有将此操作的结果分配给任何变量,也没有可能测试的副作用。

但是,如果你说

if ($variable =~ /^\s*$/) 
{ 
    print "something"; 
} 

你会回答这个问题:

变量是否值由空行或由什么,但非打印空白字符,如线空格和制表符?

1

=~是匹配运算符。

如果$ variable只包含空格或仅为空,则该语句返回true。

所以它只是检查字符串是否为空。

1
if ($variable =~ /^\s*$/) 

相同

unless ($variable =~ /\S/) 

if ($variable !~ /\S/) 
相关问题