当前perl表达式意味着什么

时间:2014-11-30 17:18:36

标签: perl expression

我在perl中遇到过这个表达式:

if($temp !~ /^\.\n$/)

我不熟悉perl中的表达式,并想知道它的含义!

1 个答案:

答案 0 :(得分:2)

{p> /PAT/m/PAT/的缩写,是匹配运算符。它检查绑定值是否与正则表达式模式PAT匹配。

=~是绑定运算符。它可用于指定匹配运算符检查匹配正则表达式模式的值,因此$temp =~ /PAT/会检查$temp是否与模式PAT匹配。

EXPR1 !~ EXPR1!(EXPR1 =~ EXPR1)相同,因此$temp !~ /PAT/会检查$temp是否与模式PAT不匹配。

相关模式检查该值是否包含除换行符之后的单个字符,后跟一个或两个换行符。

因此,如果$temp的值不包含除换行后跟一个或两个换行符的单个字符,则表达式为真。

例如,

  • "a\n"匹配。不会输入if的正文。
  • "a\n\n"匹配(尽管可能是无意的)。不会输入if的正文。
  • "a"不匹配。将输入if的正文。
  • "\n"不匹配。将输入if的正文。
  • "\n\n"不匹配。将输入if的正文。
  • "ab\n"不匹配。将输入if的正文。