Perl编程中的这个表达式有什么作用?
$variable =~ /^\s*$/;
答案 0 :(得分:18)
那里正在寻找一个行开头(^),后跟零个或多个空格(\ s *)字符,然后是行结束($)。
它主要是寻找空白/空行。
我希望表达式可用于:
if ($v =~ /^\s*$/) {
# found a blank line
}
以执行检查和以下操作。
答案 1 :(得分:1)
没有,因为您没有将此操作的结果分配给任何变量,并且因为它没有您可能要测试的副作用。
但是,如果你说
if ($variable =~ /^\s*$/)
{
print "something";
}
你会回答这个问题:
变量中的值是由空行还是由除非打印空白字符(如空格和制表符)组成的行组成的?
答案 2 :(得分:1)
=~
是匹配运算符。
如果$ variable只包含空格,则该语句返回true,或者只是空。
所以它只检查字符串是否为空。
答案 3 :(得分:1)
if ( $variable =~ /^\s*$/ )
与
相同 unless ( $variable =~ /\S/ )
或
if ( $variable !~ /\S/ )